Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

hapus catatan dari tabel pementasan setelah ditambahkan ke tabel nyata

Mungkin Anda bisa melakukan DELETE dari tabel pementasan Anda dikombinasikan dengan OUTPUT ayat. dan INSERT hasil dari OUTPUT klausa ke dalam tabel utama Anda untuk melakukan ini semua dalam satu pernyataan atom.

OUTPUT deleted.* into dashboardtasks 

Ada beberapa batasan yang tercantum di BOL meskipun yang mungkin membuat pendekatan ini tidak dapat dilakukan.

Output_table tidak dapat:

  • Tetapkan pemicu yang diaktifkan di dalamnya.
  • Berpartisipasi di kedua sisi batasan kunci asing.
  • Memiliki CHECKconstraints atau mengaktifkan aturan.

Sintaks lengkap untuk kueri Anda...

DELETE FROM staggingtasks
OUTPUT DELETED.[tour],
       DELETED.tourname,
       DELETED.[taskname],
       DELETED.[deptdate],
       DELETED.[tasktype],
       DELETED.[desc],
       DELETED.[duedate],
       DELETED.[compdate],
       DELETED.[comments],
       DELETED.[agent],
       DELETED.[compby],
       DELETED.[graceperiod],
       DELETED.completed,
       DELETED.canceled
INTO dashboardtasks
WHERE  NOT EXISTS(SELECT *
                  FROM   dashboardtasks
                  WHERE  ( staggingtasks.tour = dashboardtasks.tour
                           and staggingtasks.taskname = dashboardtasks.taskname
                           and staggingtasks.deptdate = dashboardtasks.deptdate
                           and staggingtasks.duedate = dashboardtasks.duedate
                           and staggingtasks.tourname = dashboardtasks.tourname
                         ))  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Izin SQL Server pada Procs Tersimpan dengan SQL dinamis

  2. Statistik dan Informasi Eksekusi C# SqlDataReader

  3. Mengambil miliaran baris dari server jarak jauh?

  4. Bagaimana cara mendeskripsikan tabel di SQL Server 2008?

  5. Kesalahan Transaksi SQL:Transaksi saat ini tidak dapat dilakukan dan tidak dapat mendukung operasi yang menulis ke file log