私が依頼された厄介なハックの一部として、テーブル内の関連レコードを更新するようにトリガーを変更する必要がありますが、テーブルの変更エラーが発生しています。
データは次のようになります。
roster table
Id person_id route_id active_ind
1 1 1 Y
2 2 1 Y
3 3 2 Y
4 4 2 Y
person_id = 1 の active_ind が N に設定されている場合、同じルート (route_id = 1) に関連付けられている他の人物の active_id も N に設定する必要があります。
正常に機能する他のルート関連テーブルを更新する現在のトリガー (更新後) があります。次のコードを追加すると、変更テーブル エラーが発生します。
update roster r
set r.active_ind = 'N'
where r.route_id = :new.route_id
and r.id != :new.id
and r.active_ind = 'Y';
これは、更新中にテーブルを更新しようとしていることが原因です。誰でも解決策を提案できますか?