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

Мога ли да проверя за ограничения преди изтриване в SQL Server?

Това е въпрос, който на пръв поглед изглежда добре, но има значение.

На първо място, трябва да се уверите, че след като прочетете състоянието на тези релации, никой не може да ги промени, така че очевидно трябва да използвате транзакция и да заключите въпросните редове.

След това имате нужда от начин да разберете какви релации да проверите, тъй като виждам в коментар тук въпроса ви какво се случва, ако някой по-късно добави нова релация. Така че трябва да направите запитване към схемата или може би автоматично да генерирате този код от схемата, така че механизмът за откриване да се изпълнява само всеки път, когато промените схемата.

Сега, наистина ли изключението, което получавате, изглежда толкова скъпо след това изпитание?



  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 в C# с ADO?

  2. Вмъкване на брой празни редове в SQL

  3. Копирайте всяка самоличност на вмъкнати записи

  4. Функцията за дял COUNT() OVER е възможна с помощта на DISTINCT

  5. Entity Framework 6 - Заявки за време