我正在编写一个更新触发器并访问“插入”表以查看哪些行已被修改。
我有两个相关的问题:
插入的表是否总是包含真实表的所有列?
如果插入的表只包含已更改的列,那么插入的表中是否总是至少有主键列?
我正在编写一个更新触发器并访问“插入”表以查看哪些行已被修改。
我有两个相关的问题:
插入的表是否总是包含真实表的所有列?
如果插入的表只包含已更改的列,那么插入的表中是否总是至少有主键列?
是的,它包括原始表中的所有列,除了:
SQL Server 2012 不允许在 AFTER 触发器的插入和删除表中使用text、ntext或image列引用。
(旧版本的 SQL Server 存在类似的语言,但版本号不同)
问问自己,如果只更新一个(非键)列,它们会有多大用处。您可以知道发生了更新,但您将无法进行任何进一步的有用处理。