指定されたパラメーター(日付)がテーブル内の既存の日付のいずれかにあるかどうかを確認するプロシージャを作成しようとしています。そうでない場合は、新しい行を挿入します。
CREATE OR REPLACE PROCEDURE test(date1 IN DATE, date2 IN DATE) AS
ddate1 DATE;
ddate2 DATE;
quer VARCHAR2(50);
BEGIN
SELECT fdate, tdate INTO ddate1, ddate2 FROM dataHolder;
IF (ddate1 < date1) AND (ddate2 > date2) THEN
quer := 'invalid';
ELSE
INSERT INTO dataHolder VALUES (date1, date2);
quer := 'success';
END IF;
DBMS_OUTPUT.PUT_LINE(quer);
END;
/
私はこのようなことを試しましたが、実行すると次のエラーが発生します:
ORA-01422: exact fetch returns more than requested number of rows