sql >> Database >  >> RDS >> Oracle

SQL-update, verwijderen en invoegen in dezelfde tijd

Documentatie met Oracle Transaction Statements :

Ook citaat wikipedia Transactie bericht :

In jouw geval , kunt u alle drie de zinnen in een enkele transactie plaatsen:

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;

Dit is de beste manier om aan uw eis te voldoen 'doe alle zinnen tegelijk' .



  1. php:meerdere csv-bestanden importeren in mysql-tabel

  2. FOUT 1215:Kan geen externe sleutelbeperking toevoegen bij gebruik van ON DELETE SET NULL

  3. MySQL-substring tussen twee strings

  4. Voeg twee tabellen samen in één SQL-query en maak de datumwaarden uniek