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

MS SQL ON DELETE CASCADE beberapa kunci asing menunjuk ke tabel yang sama?

Anda harus menerapkan ini sebagai BUKAN pemicu penghapusan pada wawasan, agar berfungsi. Sesuatu seperti:

create trigger T_Insights_D
on Insights
instead of delete
as
    set nocount on
    delete from broader_insights_insights
    where insight_id in (select ID from deleted) or
    broader_insight_id in (select ID from deleted)

    delete from Insights where ID in (select ID from deleted)

Seringkali dengan penghapusan berjenjang dan banyak kunci asing, Anda perlu meluangkan waktu untuk menyusun urutan "berjenjang" sehingga penghapusan yang terjadi di bagian atas "pohon" berhasil mengalir ke tabel referensi. Tapi itu tidak mungkin dalam kasus ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Basis Data + Otentikasi Windows + Nama Pengguna/Kata Sandi?

  2. Cara Membuat Batasan Kunci Asing dengan Opsi ON DELETE SET NULL di SQL Server - Tutorial SQL Server / TSQL Bagian 81

  3. Bagaimana RANK() Bekerja di SQL Server

  4. SQL Server:Kolom indeks digunakan seperti?

  5. Kolom yang dihitung di EF Code First