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

Por que o gatilho de inserção é chamado quando não há dados para inserir?


Porque eles são documentados fazer isso?

(Minha ênfase )

Talvez faça pouco sentido, mas talvez custaria mais tempo e esforço de desenvolvimento para a Microsoft criar um caminho de código especial que suprima os gatilhos quando não houver linhas afetadas.

É apenas outro exemplo em que você precisa projetar gatilhos com cuidado para lidar com inserted e deleted potencialmente contendo 0, 1 ou muitas linhas.

(Além disso, do ponto de vista relacional, conjuntos que não contêm tuplas ainda podem ser interessantes às vezes)