我正在编写更新触发器并访问“inserted”表以查看哪些行已被修改。
我有两个相关的问题:
插入的表是否始终包含真实表的所有列?
如果插入的表只包含已更改的列,那么插入的表中是否始终至少有主键列?
答案 0 :(得分:2)
是的,它包含原始表格中的所有列except:
SQL Server 2012不允许在AFTER触发器的inserted和deleted表中使用 text , ntext 或 image 列引用。< / p>
(旧版SQL Server存在类似语言,版本号不同)
问问自己,如果只更新了一个(非键)列,它们会有多大用处。你可以说已经发生了更新,但是你无法进行任何进一步的有用处理。