【发布时间】:2020-10-31 08:46:34
【问题描述】:
我正在使用 SQL Server Management Studio v18,我正在尝试为插入删除和更新编写单个触发器。
为此,我计划使用可用的插入、删除和更新视图。
但是当我尝试使用它们时,似乎没有可用的视图。我还检查了系统视图,可以看到上面的视图在那里不可用。
有人可以帮忙吗?
提前致谢!
【问题讨论】:
标签: sql sql-server triggers
我正在使用 SQL Server Management Studio v18,我正在尝试为插入删除和更新编写单个触发器。
为此,我计划使用可用的插入、删除和更新视图。
但是当我尝试使用它们时,似乎没有可用的视图。我还检查了系统视图,可以看到上面的视图在那里不可用。
有人可以帮忙吗?
提前致谢!
【问题讨论】:
标签: sql sql-server triggers
在触发器的上下文中,您可以参考 deleted 和 inserted 逻辑(概念)表。
它们在结构上类似于触发器所在的表 已定义,即尝试用户操作的表。这 删除和插入的表保存旧值或新值 可能由用户操作更改的行。
您可以找到更多详细信息here,但重点是您需要创建触发器并在其正文中引用它们。它们仅在此处可见,并且 SSMS 足够聪明,可以自动完成其列(与定义触发器的表列相同)。
这些表不是 DMV/系统视图。这就是你能找到它们的原因。
另外,没有updated 视图。如果一条记录被删除 - 它的数据位于deleted 表中,如果一条记录是created,它的数据位于inserted 表中。如果有更新,则记录在两个表中都有数据。
【讨论】: