以下是通过procedure生成输出的游标变量
/***********************************************
*
*
* create a test table
*
*
***************************************************/
create table test( a number,b number);
insert into test values(111,222);
insert into test values(11,22);
insert into test values(1,2);
/***********************************************
*
*
* create a package to hold the new data type
*
*
***************************************************/
CREATE OR REPLACE PACKAGE TypeDefine
AS
TYPE Cursor_Test IS REF CURSOR RETURN Test%ROWTYPE;
END;
/
/***********************************************
*
*
* create procedure body
*
*
***************************************************/
CREATE OR REPLACE PROCEDURE sp_test
(resultData IN OUT TypeDefine.Cursor_Test)
AS
BEGIN
OPEN resultData FOR
SELECT a,b from test;
END;
/
/***********************************************
*
*
* execute the store procedure
*
*
***************************************************/
VARIABLE v ref cursor;
EXECUTE sp_test(:v);
PRINT :v;
/***********************************************
*
*
* create a test table
*
*
***************************************************/
create table test( a number,b number);
insert into test values(111,222);
insert into test values(11,22);
insert into test values(1,2);
/***********************************************
*
*
* create a package to hold the new data type
*
*
***************************************************/
CREATE OR REPLACE PACKAGE TypeDefine
AS
TYPE Cursor_Test IS REF CURSOR RETURN Test%ROWTYPE;
END;
/
/***********************************************
*
*
* create procedure body
*
*
***************************************************/
CREATE OR REPLACE PROCEDURE sp_test
(resultData IN OUT TypeDefine.Cursor_Test)
AS
BEGIN
OPEN resultData FOR
SELECT a,b from test;
END;
/
/***********************************************
*
*
* execute the store procedure
*
*
***************************************************/
VARIABLE v ref cursor;
EXECUTE sp_test(:v);
PRINT :v;
AS
TYPE myrctype IS REF CURSOR;
END pkg_test;
/
create procedure ysm(p_rc out pkg_test.myrctype)
as
begin
open p_rc for 'select * from dmk';
end ysm;
/
你是谁?