顧客が指定した予約をプリントするSQL関数を作成しようとしています。顧客名はCLIENTS.FNAME CLIENTS.MNAME CLIENTS.LNAMEというテーブルにあり、id-foreignキーで検索された予約は です。「多すぎる値」エラーを表示する関数のコードがあります。ループか何かによって行わPL/SQL:ORA-00913:値が多すぎます
create or replace FUNCTION cl_reserv(clName VARCHAR2)
RETURN RESERVATIONS%ROWTYPE
IS
resRecord RESERVATIONS%ROWTYPE;
BEGIN
SELECT RESID,STARTDATE,ENDDATE,ADDINFO INTO resRecord
FROM RESERVATIONS INNER JOIN CLIENTS ON RESERVATIONS.CLIENTID=CLIENTS.CLIENTID
WHERE clName IN (FNAME,MNAME,LNAME);
RETURN resRecord;
END;
selectが複数のレコードを返す場合、レコードのリストを1つの変数に挿入しようとします。サーバは例外を発生させます。 – are
この記事の "コレクションフォームを返す方法/ SQL関数" http://stackoverflow.com/質問/ 7888990/return-collection-from-select-use-select-for-select – are