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

SQLの更新、削除、挿入を同時に行う

    OracleTransactionStatementsのドキュメントの引用

    また、wikipediaトランザクション投稿の引用

    あなたの場合 、3つの文すべてを1つのトランザクションで囲むことができます:

    COMMIT;         ''This statement ends any existing transaction in the session.
    SET TRANSACTION NAME 'my_crazy_update'; ''This statement begins a transaction 
                                             ''and names it sal_update (optional).
     UPDATE PS_EMAIL_ADDRESSES 
        SET PREF_EMAIL_FLAG='N' 
      WHERE EMPLID IN ('K0G004');
    
     DELETE FROM PS_EMAIL_ADDRESSES 
      WHERE EMPLID='K0G004' AND E_ADDR_TYPE='BUSN';
    
     INSERT INTO PS_EMAIL_ADDRESSES 
     VALUES('K0G004', 'BUSN', '[email protected]', 'Y');
    
    COMMIT;
    

    これは、要件を満たすための最良のアプローチです「一度にすべての文を実行する」



    1. 生のDBからEloquentへのLaravel

    2. Laravel Eloquentが管理するタイムスタンプ(created_atおよびupdated_at)のタイムゾーンを更新するにはどうすればよいですか?

    3. MariaDB LOCALTIMESTAMP()の説明

    4. ~~ any()とは異なる動作をするのはなぜですか?