0
當我嘗試編譯下面的代碼我得到的錯誤:爲什麼`SYS.odcivarchar2list`不能以`PIPELINED`功能工作
[Error] PLS-00382 (15: 17): PLS-00382: expression is of wrong type
代碼
CREATE OR REPLACE FUNCTION test_pipe
RETURN SYS.odcivarchar2list
PIPELINED
AS
CURSOR cEmploee
IS
SELECT first_name FROM employee;
BEGIN
FOR i IN cEmploee
LOOP
DBMS_OUTPUT.put_line (i.first_name);
PIPE ROW (sys.odcivarchar2list (i.first_name));
EXIT WHEN cEmploee%NOTFOUND;
END LOOP;
RETURN;
END;
/
任何人都可以解釋,如果SYS.odcivarchar2list
作品與PIPELINED功能與否。讓我知道如何解決這個問題。謝謝。
但爲什麼它不以'SYS.odcivarchar2list'工作。我知道使用'varcahr2'它應該工作。好吧,我編輯我的問題,以更好地理解。 – XING
你沒有返回列表@XING。您將逐行返回數據,作爲VARCHAR2,Oracle知道如何將該函數的調用者轉換爲ODCIVARCHAR2LIST。 – Ben
@Ben。感謝您的回覆。 – XING