OUT SYS_REFCURSOR 参数使用

--将结果打印到屏幕开关
set serveroutput on
--定义OUT SYS_REFCURSOR类型参数存储过程
CREATE OR REPLACE PROCEDURE exectltable (
    ctl_out OUT SYS_REFCURSOR
) IS
BEGIN
    OPEN ctl_out FOR 
    SELECT * FROM ctl;
END exectltable;
--调用OUT SYS_REFCURSOR类型参数存储过程结果输出
DECLARE
    ctl_out   SYS_REFCURSOR;   --使用系统预定义的sys_refcursor
    cemp      ctl%rowtype;
BEGIN
    exectltable(ctl_out);
    LOOP
        FETCH ctl_out INTO cemp;
        EXIT WHEN ctl_out%notfound;   --游标一条一条地遍历记录,当找不到记录时退出
        dbms_output.put_line(cemp.aa||' '||cemp.bb||' '||cemp.cc);
    END LOOP;
    CLOSE ctl_out;
END;

 

posted @ 2019-11-13 02:22  全栈攻城师  阅读(1814)  评论(0)    收藏  举报