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

Sql server - penghapusan rekursif

Mereka adalah yang terbaik dan paling efisien. Untuk kueri produksi, saya akan menggunakan 2 .

Satu-satunya cara lain yang dapat saya pikirkan adalah (IMO) hanya cocok untuk penghapusan data yang cepat dan kotor di lingkungan pengujian (menghindari kebutuhan untuk menganalisis urutan yang benar)

  1. Nonaktifkan semua FK, hapus data yang diinginkan, lalu aktifkan kembali FK. Ini tidak efisien karena harus diaktifkan kembali WITH CHECK untuk menghindari meninggalkan FK dalam keadaan tidak tepercaya yang berarti bahwa semua data yang disimpan perlu divalidasi ulang.
  2. Daftar semua DELETE pernyataan pada tabel yang terpengaruh dalam urutan arbitrer dan jalankan batch sebanyak yang diperlukan hingga berhasil tanpa kesalahan FK.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memfilter GABUNGAN:WHERE vs. ON

  2. SQL Server 2008 Express CONCAT() tidak ada?

  3. Temukan nilai di mana saja dalam database

  4. Format tanggal waktu PDO untuk MSSQL/dblib

  5. Bagaimana cara mendapatkan nilai parameter untuk kueri SQL Server di SQL Server Profiler