【问题标题】:Sql Server for each row [closed]每行的 Sql Server [关闭]
【发布时间】:2023-03-07 15:44:01
【问题描述】:

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

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

Sql Server 2000 和 2005 不支持这个,但是这个支持哪个版本。

问候

【问题讨论】:

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


【解决方案1】:

SQL Server 中没有等价物。您只有 INSERTED 和 DELETED 表可以使用,您必须显式匹配它们才能获得逐行关联。在某些情况下,表没有不可变的 GUID 或标识列(代理键),可能无法匹配它们。

如果需要使用触发器,或者确保涉及标识符键更改的更新一次只能发生一行,则取决于架构的设计。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 所以即使是 Sql Server 2012 也不支持这个
    猜你喜欢
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    相关资源
    最近更新 更多