Oracle概念:过程、函数、程序包
2009-06-09 13:15:41 来源:WEB开发网分析:
desc scott.emp
参数:一个in, 两个out
参数类型:in number, out emp.ename%type , out emp.sal%type
con scott/tiger
create or replace
procedure emp_lookup(
p_empno in number,
o_ename out emp.ename%type ,
o_sal out emp.sal%type) as
begin
select ename, sal
into o_ename, o_sal
from emp
where empno= p_empno;
exception
when NO_DATA_FOUND then
o_ename := ‘null’;
o_sal := -1;
end;
/
执行该过程:
1. 使用匿名PL/SQL
分析:目的是输出两个out参数的结果,所以匿名块中也要定义2个与out参数相同的局域变量。
set serveroutput on
declare
l_ename emp.ename%type;
l_sal emp.sal%type;
begin
emp_lookup(7782, l_ename, l_sal);
dbms_output.put_line(‘Ename = ‘ || l_ename);
dbms_output.put_line(‘Sal = ‘ || l_sal);
end;
/
2. 在sql plus 中执行
分析:需要使用sql plus 的VARIABLE命令绑定参数值,即为OUT参数提供接受返回值的变量。
Variable name varchar2(10);
Variable sal number;
Exec emp_lookup(‘7782’, :name, :sal);
Print name;
Print sal;
Select :name, :sal from dual;
IN OUT 参数:
可以用来传入参数,并从存储过程返回值。
例子:输入两个数,交换值
思路:通过一个临时变量作为交换过程中的过渡
create or replace
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接