Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy mogę sprawdzić ograniczenia przed usunięciem w SQL Server?

To pytanie, które na pierwszy rzut oka wygląda dobrze, ale ma konsekwencje.

Przede wszystkim musisz upewnić się, że po zapoznaniu się ze statusem tych relacji nikt nie może ich zmienić, więc oczywiście musisz użyć transakcji i zablokować odpowiednie wiersze.

Następnie potrzebujesz sposobu, aby dowiedzieć się, jakie relacje sprawdzić, jak widzę w komentarzu tutaj twoje pytanie o to, co się stanie, jeśli ktoś później doda nową relację. Musisz więc wysłać zapytanie do schematu lub być może automatycznie wygenerować ten kod ze schematu, aby mechanizm wykrywania działał tylko za każdym razem, gdy zmieniasz schemat.

Czy wyjątek, który otrzymujesz, naprawdę wydaje się tak drogi po tej próbie?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znaki specjalne wyświetlane niepoprawnie po BULK INSERT

  2. Zapytanie SQL do podzielenia jednej kolumny na dwie kolumny

  3. Format daty zwracany jako mm/dd/rrrr gg:mm:ss AM/PM

  4. Menedżer połączeń SSIS nie przechowuje hasła SQL

  5. „MOD” nie jest rozpoznawaną nazwą funkcji wbudowanej