WEB开发网
开发学院数据库Oracle Oracle概念:过程、函数、程序包 阅读

Oracle概念:过程、函数、程序包

 2009-06-09 13:15:41 来源:WEB开发网   
核心提示: 分析:desc scott.emp参数:一个in, 两个out参数类型:in number, out emp.ename%type , out emp.sal%typecon scott/tigercreate or replaceprocedure emp_lookup(p_empno

分析:

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

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Oracle 概念 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接