sql >> データベース >  >> RDS >> Oracle

挿入トリガー後に同じテーブルを更新する

    SOME_TABLEは現在変更中であるため、UPDATEは許可されていないと思います。

    そもそもトリガーを起動したINSERTステートメントの直後に配置してみませんか?

    INSERT INTO SOME_TABLE ...
    update Some_Table set status = 'Y' where id = (select max(id) id  from Some_Table where status = 'N'); --Update Table that SMS has been sent
    

    そのUPDATEで特定の行を何もしていないことを考えると、これは正しいアプローチだと思います。

    コメントで述べたように、AFTER INSERTのこの最後のステートメントに特別な用途はありますか 引き金? BEFORE INSERTでは意味があります トリガー。

    select 'Y' into :new.status from dual;
    


    1. RailsAdvanceクエリCASEWHENメソッドが機能しない

    2. Oracleの集計を使用したテーブルの回転/ピボット

    3. Mac OS X Lion-mysql:コマンドが見つかりません

    4. SELECTを使用するとMySQLBITフィールド値が表示されない