-1
我有一張名爲employees..i的表希望編寫兩個functions.1st函數通過使用refcursor它希望從employess表中獲取所有行...並且結果將通過2nd顯示功能。這兩個功能應該在一個單一的包裝包查詢中的PLSQL函數
我有一張名爲employees..i的表希望編寫兩個functions.1st函數通過使用refcursor它希望從employess表中獲取所有行...並且結果將通過2nd顯示功能。這兩個功能應該在一個單一的包裝包查詢中的PLSQL函數
您的問題顯示了很少的行業或努力找出解決方案。
首先閱讀Oracle documentation,它會幫助你非常。
由於要達到什麼樣的一個例子:
CREATE OR REPLACE
PACKAGE ref_cur_package
AS
FUNCTION get_emp
RETURN SYS_REFCURSOR;
PROCEDURE show_emp;
END ref_cur_package;
CREATE OR REPLACE
PACKAGE BODY ref_cur_package
AS
FUNCTION get_emp
RETURN SYS_REFCURSOR
IS
emp_rc SYS_REFCURSOR;
BEGIN
OPEN emp_rc
FOR SELECT *
FROM emp;
RETURN emp_rc;
END get_emp;
PROCEDURE show_emp
IS
emp_rc SYS_REFCURSOR;
emp_row emp%ROWTYPE;
BEGIN
emp_rc := get_emp;
LOOP
FETCH emp_rc INTO emp_row;
EXIT WHEN emp_rc%NOTFOUND;
DBMS_OUTPUT.put_line('Employee: '||emp_row.firstname||' '||emp_row.lastname);
END LOOP;
CLOSE emp_rc;
END show_emp;
END ref_cur_package;
/
要見你需要設置serveroutput on輸出。
您還應該添加一個異常處理程序,以在出現問題時強制關閉引用光標,但我會將其留給您進行研究。一定要用
吧! – alfasin 2012-07-06 09:43:24
那麼,你的問題到底是什麼?到目前爲止你有什麼嘗試過? – Josien 2012-07-06 10:56:59
向我們展示您嘗試過的方式,告訴我們您遇到了哪些問題,也許有人可以提供幫助 - 但是,除非您自己做了一些工作,否則不能指望我們爲您做。 – 2012-07-09 02:01:52