现在的位置: 首页 > 综合 > 正文

存储过程调用

2017年11月27日 ⁄ 综合 ⁄ 共 1038字 ⁄ 字号 评论关闭
1.Oracle中创建存储过程的格式如下:
create [or replace] procedure <过程名>
<参数1>, [方式1] ,<数据类型1>,
<参数2>, [方式2] ,<数据类型2>,
...
is | as
begin
PL/SQL
end;
其中参数in表示输入,out表示输出,in out 表示既可以输入也可以输出;

2.调用存储过程的方法如下:
a.使用execute命令调用:
SQL>execute proc_name(part1, part2);
b.在PL/SQL块内部调用:
declare
  part1,part2;
begin
  proc_name(part1, part2);
end;

创建:

01.create or replace procedure sp_test(fname in varchar2, update_count out number)
02.is
03.       cursor emp_cur
04.is
05.       select employees.employee_id from employees where employees.first_name=fname;
06.begin
07.       update_count := 0;
08.       for emp_rs in emp_cur
09.       loop
10.           update employees set employees.first_name=employees.last_name, employees.last_name=fname
11.           where employees.employee_id=emp_rs.employee_id;
12.           update_count := update_count + 1;
13.       end loop;
14.       commit;
15.end;

调用:

1.declare
2.  fname varchar2(10);
3.  update_count number;
4.begin
5.  fname := 'gates';
6.  sp_test(fname, update_count);
7.  dbms_output.put_line(update_count);
8.end;

抱歉!评论已关闭.