Oracle触发器中new&old关键字使用
程序员文章站
2022-05-07 14:09:03
...
选取自:http://apps.hi.baidu.com/share/detail/16452280
new 指的是新记录的指针
old 指的是旧记录指针
:new --为一个引用最新的列值;
:old --为一个引用以前的列值;
注意:这两个变量只有在使用了关键字 "FOR EACH ROW"时才存在.且update语句两个都有,而insert只有:new ,delect 只有:old;
所以 :new.列名 不用指定表名,因为它表示当前最新被引用到的记录,表名无须显示。显示的列名时,需要我们先去判断当前情景下被执行的是哪个表。
例子:
new 指的是新记录的指针
old 指的是旧记录指针
:new --为一个引用最新的列值;
:old --为一个引用以前的列值;
注意:这两个变量只有在使用了关键字 "FOR EACH ROW"时才存在.且update语句两个都有,而insert只有:new ,delect 只有:old;
所以 :new.列名 不用指定表名,因为它表示当前最新被引用到的记录,表名无须显示。显示的列名时,需要我们先去判断当前情景下被执行的是哪个表。
例子:
SELECT seq_foo.nextval INTO :new.sid FROM dual; 之类的用法。
上一篇: jQuery与vue实现拖动验证码功能