-- i_address 是存储过程的输入参数,o_cur是存储过程的输出游标参数,用以获取返回的结果集! CREATE OR REPLACE PROCEDURE userinfo_proc(i_address VARCHAR2, o_cur OUT SYS_REFCURSOR) IS sqlstr VARCHAR2(200); -- 定义变量,用以存放SQL语句 BEGIN sqlstr := 'SELECT Id, Name, Sex, Age, Address FROM userinfo WHERE Address = :i_address'; -- 给SQL变量赋值,其中 :i_address 是绑定变量,以提高执行效率! OPEN o_cur FOR sqlstr USING i_address; -- 给游标变量赋值 END; /set serveroutput on; var c_cur refcursor; exec userinfo_proc('北京',:c_cur); print c_cur;
CREATE OR REPLACE PROCEDURE aselectReftable IS sqlstr VARCHAR2(200); BEGIN sqlstr := 'SELECT * FROM REFERENCE_TABLE'; //OPEN o_cur FOR sqlstr ; END ;怎么搞啊!不会
CREATE OR REPLACE PROCEDURE aselectReftable(o_cur OUT SYS_REFCURSOR) IS sqlstr VARCHAR2(200); BEGIN sqlstr := 'SELECT * FROM REFERENCE_TABLE'; OPEN o_cur FOR sqlstr ; END ;在pl/sql中怎么调用啊
var c_cur refcursor; exec userinfo_proc(:c_cur); 报错
CREATE OR REPLACE PROCEDURE aselectReftable(o_cur OUT SYS_REFCURSOR) IS sqlstr VARCHAR2(200); BEGIN sqlstr := 'SELECT * FROM REFERENCE_TABLE'; OPEN o_cur FOR sqlstr ; END ;在pl/sql中怎么调用啊
SQL> CREATE OR REPLACE PROCEDURE aselectReftable(o_cur OUT SYS_REFCURSOR) 2 IS 3 sqlstr VARCHAR2(200); 4 BEGIN 5 6 sqlstr := 'SELECT * FROM dual'; 7 OPEN o_cur FOR sqlstr ; 8 END ; 9 /Procedure created.SQL> var cur refcursor; SQL> exec aselectReftable(:cur);PL/SQL procedure successfully completed.SQL> print curD - XSQL>
plsql developer的command窗口。也许是我版本不支持,有人可以执行么? SQL> var c_cur refcursor; REFCURSOR not supported
CREATE OR REPLACE PROCEDURE userinfo_proc(i_address VARCHAR2, o_cur OUT SYS_REFCURSOR)
IS
sqlstr VARCHAR2(200); -- 定义变量,用以存放SQL语句
BEGIN
sqlstr := 'SELECT Id, Name, Sex, Age, Address FROM userinfo WHERE Address = :i_address'; -- 给SQL变量赋值,其中 :i_address 是绑定变量,以提高执行效率!
OPEN o_cur FOR sqlstr USING i_address; -- 给游标变量赋值
END;
/set serveroutput on;
var c_cur refcursor;
exec userinfo_proc('北京',:c_cur);
print c_cur;
IS
sqlstr VARCHAR2(200);
BEGIN sqlstr := 'SELECT * FROM REFERENCE_TABLE';
//OPEN o_cur FOR sqlstr ;
END ;怎么搞啊!不会
IS
sqlstr VARCHAR2(200);
BEGIN sqlstr := 'SELECT * FROM REFERENCE_TABLE';
OPEN o_cur FOR sqlstr ;
END ;在pl/sql中怎么调用啊
var c_cur refcursor;
exec userinfo_proc(:c_cur);
报错
IS
sqlstr VARCHAR2(200);
BEGIN sqlstr := 'SELECT * FROM REFERENCE_TABLE';
OPEN o_cur FOR sqlstr ;
END ;在pl/sql中怎么调用啊
var c_cur refcursor;
exec userinfo_proc(:c_cur);
print c_cur
aselectReftable 你的过程名var c_cur refcursor;
exec userinfo_proc(:c_cur);
2 IS
3 sqlstr VARCHAR2(200);
4 BEGIN
5
6 sqlstr := 'SELECT * FROM dual';
7 OPEN o_cur FOR sqlstr ;
8 END ;
9 /Procedure created.SQL> var cur refcursor;
SQL> exec aselectReftable(:cur);PL/SQL procedure successfully completed.SQL> print curD
-
XSQL>
SQL> var c_cur refcursor;
REFCURSOR not supported