私はSQLの初心者です。日付をSQLの ":new"テーブルと比較する
私はSQLでトリガーを作成しようとしています。
select brw.borage, bt.agelower, bt.ageupper
into borage, minage, maxage
from borrower brw
inner join loan ln on ln.borid = brw.borid
inner join bookcopy bc on ln.bcid = bc.bcid
inner join booktitle bt on bt.isbn = bc.isbn
where ln.bcid = :new.bcid
and ln.borid = :new.borid;
-- and ln.dateout = :new.dateout;
ローンテーブルの主キーが「BCID」、「borID」と「dateOut」で構成されています。このコードは、私に迷惑を与えています。 最後の行をコメントアウトすると、新しく追加された行がテーブルに追加されます。 最後の行のコメントを外しても機能しません!
私はちょうど(非コメント行で)このエラーが出る:
Row 34: ORA-01403: no data found
ORA-01403: no data found
意味オラクルは、クエリ条件に一致するすべての行を見つけることができませんでした。
注:私は行のコメントを外すとき、私はまた、上のセミコロンを削除します。
このトリガーはどのテーブルに定義されていますか? 'DATEOUT'は(おそらく異なる)トリガーで定義されていますか? –
@JustinCaveトリガーは "Loan"テーブルで定義されています。 DateOutはloansテーブルの日付フィールドです。私が持っている唯一のトリガは、私が今作成しようとしているトリガです、それは上に作成または置き換えています:)それは割り当ての一部であるので、私はすべてのコードを投稿しないようにしています。慎重に編集せずに投稿した場合は、私自身の仕事のために盗作されてしまいます。 – David
@JustinCave DateOutは定義されておらず、どこでも宣言されていませんが、Loansテーブルの一部です。私はそれを何か宣言すべきか? – David