2007/07/05

PL/SQL stored procedure do select


一般來說, 無法直接由 stored procedure select 回來, 
而是用 dbms_output.put_line 寫回資料,
但是今天看到有趣的寫法如下.
CREATE OR REPLACE PACKAGE MIS_TEST01 
AS
  TYPE CUR IS REF CURSOR;
  PROCEDURE GET_NO(v_no report.no%TYPE,OPCUR OUT CUR);
END;
/
CREATE OR REPLACE PACKAGE BODY MIS_TEST01 
AS
  PROCEDURE GET_NO(v_no report.no%TYPE,OPCUR OUT CUR)
  AS
  BEGIN
    OPEN OPCUR FOR
      SELECT * FROM report WHERE report.no=v_no;
  END;
END;
/

沒有留言: