限定值与非限定值的比较

下面的表总结了在发生不同触发器事件后用 old 或 new 相关名限定 column 名称时,检索的值。
触发事件 old.column new.column
INSERT 无值(错误) 插入的值
UPDATE (column updated) 初始值 当前值(U)
UPDATE (column not updated) 初始值 当前值(N)
DELETE 初始值 无值(错误)
SELECT 初始值 无值(错误)

当相关性名称没有值是,只要 SQL 或 SPL 语句引用未定义的相关名称执行时而不是在声明相关性名称时,会发出错误,当您读取上一个表时引用以下键。

术语
含义
初始值
触发事件前的值
当前值
触发事件后的值
(N)
不能被触发操作更改
(U)
可以被触发语句更新;更新的值可能因为前面的触发操作而与初始值不同。

在 FOR EACH ROW 触发操作列表外,您不能使用旧的或新的相关名限定来自触发表的列;它总是引用数据库中的当前值。

创建触发器时,触发操作列表中的语句使用任何有效的排列顺序,即使执行触发器操作时有效的排列不同。请参阅 SET COLLATION 语句 以获取关于如何指定与 DB_LOCALE 所指定的不同的排列顺序。