Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Sql сървър - рекурсивно изтриване

Това са най-добрите и най-ефективните. За производствени заявки бих използвал 2 .

Единствените други начини, за които се сещам, биха (IMO) били подходящи само за бързо и мръсно премахване на данни в тестова среда (избягвайки необходимостта от анализ на правилния ред)

  1. Деактивирайте всички FK, изтрийте желаните данни, след което активирайте отново FK. Това е неефективно, тъй като те трябва да бъдат активирани отново WITH CHECK за да се избегне оставянето на FK в ненадеждно състояние, което означава, че всички запазени данни трябва да бъдат повторно потвърдени.
  2. Избройте всички DELETE изрази върху засегнатите таблици в произволен ред и стартирайте пакета толкова пъти, колкото е необходимо, докато успее без 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. Сума от час и минути в SQL Server 2008

  2. Функции за сигурност в SQL Server 2017

  3. Прочетете данни от sql база данни с помощта на инструмент за избор на дата и час

  4. SQL Server 2008:ИЗБЕРЕТЕ ЗА АКТУАЛИЗАЦИЯ

  5. Тригерът има грешка при първото действие