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

挿入選択を使用してレコードをコピーしてから、同じレコードセットの属性を更新します

    2つのステートメントをwithin a transaction実行した場合 、失敗すると、挿入と更新の両方がロールバックされます。

    insert into tgt..
    select * from src
    where <condition>
      and row_status <> 'copied'; --ignoring records after they have been copied once?
    
    update src
    set row_status = 'copied'
    where <same_where_condition_as_before>
    
    commit;
    

    読み取られた後にソーステーブルに新しい行が挿入された場合は、必要に応じてwhere条件を変更して、ブロックを再度実行する必要がある場合があります。



    1. CSVからMySQLDBへのデータの挿入は非常に遅い

    2. SQLIN句でのタプルの使用

    3. 大規模なデータベースからパンダにデータをロードする方法は?

    4. 警告:mysql_fetch_object():指定された引数は有効なMySQL結果リソースではありません