2.有返回值的存储过程(非列表)
如何处理有返回值的存储过程?
案例:编写一个过程,可以输入雇员的编号,返回该雇员的姓名。
pl/sql代码
--有输入和输出的存储过程(返回一个值)
create or replace procedure sun_pro11
(sunNo in number,sunName out varchar2) is
begin
select ename into sunName from kkkk where empno=sunNo;
end;
java代码
public class Test1 {
public static void main(String[] args) {
Connection ct = null;
CallableStatement cs = null;
try {
//1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
//2.创建CallableStatement,专门用来调用存储过程
//看看如何调用有返回值的过程
//创建CallableStatement
cs = ct.prepareCall("{call sun_pro11(?,?)}");
//给第一个?赋值
cs.setInt(1, 7788);
//给第二个?赋值
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
//oracle.jdbc.OracleTypes选定的类型取决于第二个问号是什么类型的
//执行
cs.execute();
//取出返回值,要注意?的位置
String name = cs.getString(2);
System.out.println("7788的名字:"+name);
} catch (Exception e) {
e.printStackTrace();
}
finally{
//关闭各个打开的资源
try {
cs.close();
ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
- 浏览: 219892 次
- 性别:
- 来自: 江西
最新评论
-
闷骚的小老头:
这个和eclipse右什么区别么,都会啊这个
如何在Android Studio中创建一个selector.xml文件 -
闷骚的小老头:
导入Model就ok
如何在Android Studio中导SlidingMenu框架到项目中 -
gaojingsong:
七天玩转oracle,韩顺平玩转oracle,有些东西过时了, ...
oracle表的数据类型
相关推荐
Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写一系列的SQL和PL/SQL语句,形成一个可重用的程序单元。这样的程序单元可以在需要的时候被调用执行,提高了代码的复用性和数据库的性能。...
存储过程可以无返回值、有非列表返回值或返回列表。对于分页查询,Oracle提供了高效的存储过程实现,如游标配合的方式。 8. **Java与存储过程的交互** Java可以通过JDBC调用Oracle存储过程,包括`...
存储过程支持参数输入输出、返回单个或多个结果集以及返回值,甚至可以在一个存储过程中嵌套调用其他存储过程。 在SQL Server中,根据定义主体的不同,存储过程主要分为三类: 1. **系统存储过程**:这些是SQL ...
C) **减少网络流量**:当多个SQL语句组合为一个存储过程时,客户端只需发送存储过程调用,而非所有的SQL语句,降低了网络传输的数据量,减轻了网络负载。 D) **安全性**:通过权限管理,系统管理员可以限制对存储...
存储过程是由一个或多个SQL语句组成的代码块,它在数据库服务器上预先编译并存储。当需要执行时,只需调用存储过程的名字,而无需每次都重新解析和执行SQL语句,从而提高了执行效率。 2. **创建存储过程** 在SQL...
- 调用返回多个结果集的存储过程:当一个存储过程返回多个独立的数据块时,可以分别处理每个结果集。 了解并熟练掌握在BIRT中使用存储过程创建数据源,不仅可以提高报表的灵活性,还能优化性能,特别是当处理复杂的...
在SQL Server中,存储过程是数据库管理中非常重要的一个概念,它是预编译的SQL语句集合,可以视为数据库中的可重用代码模块。本文档,"SqlServerCH创建和管理存储过程PPT学习教案"主要涵盖了如何创建、执行、修改和...
本资源"SQL server 2005 存储过程100个实例"是一个面向初学者的实践教程,旨在通过具体的例子帮助学习者深入理解和应用存储过程。 存储过程是预编译的SQL语句集合,可以在服务器端执行,减少了网络传输的开销。在...
递归函数的每次调用都会在内存中创建一个新的堆栈帧,存储局部变量和返回地址。因此,大量递归调用可能会消耗大量内存,可能导致性能问题。 总的来说,递归和递归函数返回值是Python编程中强大的工具,特别是在数据...
PowerBuilder 是一个流行的企业级数据库前端开发工具,它支持多种数据库平台,包括 SQL Server。在 PowerBuilder 中调用 SQL Server 的存储过程主要涉及以下几个步骤: 1. **建立数据库连接**:首先需要配置与 SQL ...
本项目是基于Maven、SpringMVC和MyBatis构建的一个示例,其中重点展示了如何在MyBatis中调用存储过程。以下是对这个主题的详细阐述: 首先,我们需要理解MyBatis是如何工作的。MyBatis允许开发者编写XML或注解形式...
最后,`Oracle存储过程变量.swf`可能是一个交互式的SWF动画,它可能以动态的形式展示了如何在存储过程中声明和使用变量,这对于初学者来说是一种生动的学习方式,能够帮助他们直观地理解存储过程中的变量管理和数据...
如果需要删除一个存储过程,使用`DROP PROCEDURE`语句,而重新编译则需要`ALTER PROCEDURE COMPILE`。 **存储函数** 与存储过程类似,但函数必须有返回值,并且其返回类型在定义时指定。函数通常用于执行计算或返回...
在MyBatis中,存储过程和函数的调用是一个重要的功能,这允许开发者利用数据库的高级功能,如复杂的逻辑处理和高效的数据操作。本篇主要介绍如何在MyBatis中调用MySQL的存储过程,包括如何接收返回参数、单个结果集...
过程可以是`Sub`过程,主要用于执行操作,不涉及返回值,或者`Function`过程,虽然也执行操作,但它可以返回一个值,类似于函数。 - **函数**:函数是一个能够根据输入参数计算并返回一个值的代码块。在VB中,函数...
在Oracle等支持PL/SQL记录类型的数据库中,你可以定义一个自定义的Java类,该类对应存储过程中的记录类型,然后使用`Struct`对象将List元素转换为数据库可识别的格式。 5. **使用`setArray()`或`setObject()`方法*...
3. **处理结果**:存储过程的返回值通常是一个DataSet、DataTable或者自定义类型。LINQ to SQL会根据存储过程的输出参数和结果集自动创建相应的返回对象。 ** 函数的使用 ** 1. **映射函数**:对于数据库函数,...
3. **SQL存储过程**:存储过程是一组预编译的SQL语句,封装在一起并以一个名称标识。存储过程可以接受参数,执行一系列操作,并返回结果。它们提高了代码的重用性和效率,因为它们只需编译一次,然后在每次调用时...
无参存储过程是最简单的存储过程形式,不接收任何参数。创建语法如下: ```sql CREATE OR REPLACE PROCEDURE NoParPro AS BEGIN -- 执行逻辑 END; ``` #### 2.2 带参存储过程 带参存储过程可以根据不同的参数提供...