标签:
--存储过程语法
create or replace procedure 名字(
参数1 in/out 类型(不能给长度),
参数2 in/out 类型(不能给长度),
参数3 in/out 类型(不能给长度)
)is
参数4 类型(可以给长度);
参数5 类型(可以给长度);
begin
过程内容
end;
create or replace procedure getempinfo(
v_num in emp.empno%type
)is
v_name emp.ename%type;
begin
select ename into v_name from emp where empno=v_num;
dbms_output.put_line(‘名字是:‘||v_name);
end;
--调用过程
exec getempinfo(7369);--如果没有参数,就不需加小括号
call getempinfo(7369);--如果没有参数,也必须加上小括号
begin
getempinfo(7369);
end;
--系统游标传递多行数据
--查询所有员工的工资
create or replace procedure getempsal(
empsal out sys_refcursor
)is
begin
open empsal for select empno,sal from emp;
end;
--调用
declare
empsal sys_refcursor;
v_no emp.empno%type;
v_sal emp.sal%type;
begin
getempsal(empsal);
loop
fetch empsal into v_no,v_sal;
if empsal%notfound then exit;
end if;
dbms_output.put_line(‘员工编号:‘||v_no||‘,员工工资‘||v_sal);
end loop;
if empsal%isopen then close empsal;
end if;
end;
标签:
原文地址:http://www.cnblogs.com/noilany/p/4526620.html