【发布时间】:2021-12-25 20:56:33
【问题描述】:
大家好,我有以下代码:
CREATE OR REPLACE FUNCTION GET_STATE_USER (user_id IN NUMBER)
RETURN VARCHAR2
AS
staffName VARCHAR2 (50);
BEGIN
DBMS_OUTPUT.put_line(user_id);
SELECT bs.FIRST_NAME || ' ' || bs.LAST_NAME
INTO staffName
FROM EMPLOYEE e
WHERE bs.USER_ID = user_id;
RETURN (CASE
WHEN staffName IS NOT NULL THEN staffName
ELSE 'Invalid'
END);
END;
/
我收到以下错误: ORA-01422: 精确提取返回的行数多于请求的行数 ORA-06512:在“GET_STATE_USER”,第 8 行
【问题讨论】:
-
您的选择返回多于一行
-
不,当我在函数之外运行它时,它只有一行,并且员工的用户列是唯一的人。 @Beso