限定值与非限定值的比较

下面的表总结了在发生不同触发器事件后用 oldnew 相关名限定 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 所指定的不同的排列顺序。