関数から複数の値を取得したいのですが、私のコードは次のとおりです。
CREATE OR REPLACE TYPE user_data_type AS OBJECT(val1 NUMBER(15), val2 NUMBER(15))
CREATE OR REPLACE FUNCTION GET_EMPLOYEE_AND_USER(in_login IN fnd_user.user_name%TYPE)
RETURN user_data_type AS
out_var user_data_type;
CURSOR buffer_cur IS
SELECT f.user_id, f.employee_id FROM Fnd_User f WHERE f.user_name=in_login;
BEGIN
OPEN buffer_cur;
FETCH buffer_cur INTO out_var;
CLOSE buffer_cur;
RETURN out_var;
END GET_EMPLOYEE_AND_USER;
私が実行すると:
select * from table(get_employee_and_user('user1'))
それは言う: パッケージまたは関数 get_employee_and_user が無効な状態
にある 残念ながら、行タイプを返そうとすると、または記録しようとすると、上記のエラーが表示されます。