在SQL server中,触发器什么时候被触发?
问题是,我有一个表格,其中将插入45,000条记录。 我想将所有45k记录复制到其他表中。 但我不希望触发器在每个插件上运行,即45000次触发器。
我的触发器基本上是将记录从TableA复制到TableB。
触发器:
array1 = input.split(//).map(&:to_i)
以上只是我触发器的模板。
另外,我有一个问题,上面提到的触发器,它是如何工作的?喜欢为每一行开火还是在所有插入完成后?
答案 0 :(得分:3)
在SQL Server中,insert
语句完成时会触发触发器。
在某些数据库中,会为插入的每一行执行触发器(在这些数据库中for each row
通常是语法的一部分)。相比之下,SQL Server会跟踪已更改的行,这就是为什么它们存储在类似于表的结构inserted
和deleted
中 - 并且假设它们只包含一行是错误的