每行的Sql Server

时间:2012-11-14 08:18:55

标签: sql-server sql-server-2008 triggers

我正在使用Sql Server和触发器。

过去我使用过Oracle和触发器。 在Oracle中,有一个FOR EACH ROW触发器的功能。

Sql Server 2000和2005不支持此功能,但支持哪个版本。

此致

2 个答案:

答案 0 :(得分:2)

SQL Server中没有等效项。您只能使用INSERTED和DELETED表,必须明确匹配才能获得行与行的相关性。在某些情况下,表没有不可变的GUID或标识列(代理键),因此无法匹配它们。

如果需要使用触发器,或者确保涉及标识符键更改的更新一次只能发生一行,则由模式的设计来确保存在这样的标识符。 / p>

答案 1 :(得分:1)

不,SQL Server没有FOR EACH ROW个触发器。您需要检查inserteddeleted虚拟表 - 对它们执行基于集合的操作,或使用游标迭代它们。