我的測試功能是本如何運行返回多個值
CREATE OR REPLACE FUNCTION MULTI_VAL
(MYNAME OUT EMP2017.ENAME%TYPE)
RETURN NUMBER AS
MYSAL EMP2017.SAL%TYPE;
BEGIN
SELECT SAL, ENAME INTO MYSAL, MYNAME FROM EMP2017 ;
RETURN MYSAL;
END;
/
當我運行它像
variable mynm varchar2(20)
SELECT MULTI_VAL(:mynm) FROM dual;
它給這個錯誤
ERROR at line 1:
ORA-06553: PLS-561: character set mismatch on value for parameter 'MYNAME'
那麼什麼是'EMP2017.MYNAME'的數據類型? – APC
假設它是'nvarchar2(20)',你有什麼數據庫和國家字符集?另外我期望查詢得到'ORA-06572:Function MULTI_VAL has out arguments',並且由於函數的查詢沒有過濾器,所以如果表中沒有完全一行,則會出錯。你真的想做什麼?也許你想要返回一個引用遊標或流水線集合? –