给你个我以前写过程 的1.创建SQL> create or replace procedure p_name(dm varchar2,cur_name out sys_refcursor) 2 as 3 begin 4 open cur_name for select xm from xs where zym=dm; 5 end; 6 /过程已创建。2,调用SQL> edi 已写入 file afiedt.buf 1 declare 2 v_xm varchar2(20); 3 m sys_refcursor; 4 v_zym varchar2(20); 5 begin 6 v_zym:='计算机'; 7 p_name(v_zym,m); 8 fetch m into v_xm; 9 while m%found loop 10 dbms_output.put_line(v_xm); 11 fetch m into v_xm; 12 end loop; 13 close m; 14* end; SQL> /PL/SQL 过程已成功完成。SQL> set serveroutput on SQL> / 王林 程明 王燕 韦严平 李方方 李明 林一帆 张强民 张蔚 赵琳 严红PL/SQL 过程已成功完成。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wkc168/archive/2010/07/04/5712213.aspx
返回 sys_refcursor 类型变量就可以了。。
create or replace procedure aaaaaaa(dm varchar2,cur_name out sys_refcursor) As Begin open cur_name for Select * From secuser Where logid=dm; end;按你的方式调试好像不行啊??
有存储函数 跟存储过程差不多,不一样的就是存储函数是可以有返回值的 即create or replace function 来进行创建的
给你个我以前写过程 的1.创建SQL> create or replace procedure p_name(dm varchar2,cur_name out sys_refcursor)
2 as
3 begin
4 open cur_name for select xm from xs where zym=dm;
5 end;
6 /过程已创建。2,调用SQL> edi
已写入 file afiedt.buf 1 declare
2 v_xm varchar2(20);
3 m sys_refcursor;
4 v_zym varchar2(20);
5 begin
6 v_zym:='计算机';
7 p_name(v_zym,m);
8 fetch m into v_xm;
9 while m%found loop
10 dbms_output.put_line(v_xm);
11 fetch m into v_xm;
12 end loop;
13 close m;
14* end;
SQL> /PL/SQL 过程已成功完成。SQL> set serveroutput on
SQL> /
王林
程明
王燕
韦严平
李方方
李明
林一帆
张强民
张蔚
赵琳
严红PL/SQL 过程已成功完成。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wkc168/archive/2010/07/04/5712213.aspx
As
Begin
open cur_name for Select * From secuser Where logid=dm;
end;按你的方式调试好像不行啊??
即create or replace function 来进行创建的