Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Posso verificar restrições antes de uma exclusão no SQL Server?


Esta é uma pergunta que na superfície parece boa, mas tem implicações.

Antes de tudo, você precisa garantir que, depois de ler o status dessas relações, ninguém possa alterá-las, então, obviamente, você precisa usar uma transação e bloquear as linhas em questão.

Então você precisa de uma maneira de descobrir quais relações verificar, como vejo em um comentário aqui sua pergunta sobre o que acontece se alguém mais tarde adicionar uma nova relação. Portanto, você precisa consultar o esquema ou talvez gerar automaticamente esse código a partir do esquema, para que o mecanismo de detecção só precise ser executado toda vez que você alterar o esquema.

Agora, a exceção que você recebe realmente parece tão cara depois dessa provação?