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

INSERT nilai yang dihapus ke dalam tabel sebelum DELETE dengan DELETE TRIGGER

Masalah Anda adalah:pemicu ini menyala SETELAH penghapusan sudah terjadi . Jadi tidak ada lagi baris di HashTags yang bisa Anda ikuti!

Anda perlu menggunakan pemicu ini sebagai gantinya:

ALTER TRIGGER [dbo].[HashTags_BeforeDelete]
    ON [dbo].[HashTags]
    FOR DELETE
AS
  BEGIN
    INSERT INTO HashTagsArchive(Id, HashTagId, delete_date)
       SELECT 
           d.Id, d.HashTagId, GETUTCDATE() 
       FROM deleted d 
  END
GO

Deleted tabel semu berisi seluruh baris yang telah dihapus - tidak perlu bergabung dengan apa pun...

Juga:pemicu ini menyala setelah penghapusan terjadi - jadi Anda tidak perlu melakukan apa pun sendiri, di dalam pemicu - cukup masukkan bit informasi itu ke tabel arsip Anda - itu saja. Segala sesuatu yang lain ditangani oleh SQL Server untuk Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat cadangan file SQL Server 2014 Express Localdb (.mdf) secara terprogram

  2. Apa cara terbaik untuk memilih nilai minimum dari beberapa kolom?

  3. Bagaimana Anda mendapatkan parameter output dari prosedur tersimpan dengan Python?

  4. Bagaimana cara menggunakan group by dalam kueri SQL Server?

  5. perbarui dan masukkan kueri yang membuat kebuntuan