:new与:old的用法
生活随笔
收集整理的這篇文章主要介紹了
:new与:old的用法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
定義:在行級觸發(fā)器中,為了獲取某列在DML操作前后的數(shù)據(jù),Oracle提供了兩種特殊的標(biāo)識符——:OLD和:NEW,通過:OLD.column_name的形式可以獲取該列的舊數(shù)據(jù),而通過:NEW.column_name則可以獲取該列的新數(shù)據(jù)。
?
使用場景:
insert觸發(fā)器只能使用:NEW.column_name;
delete觸發(fā)器只能使用::OLD.column_name;
update觸發(fā)器則兩種都可以使用。
?
:NEW.column_name通常使用于before insert?or update;
:OLD.column_name通常使用于after delete or update;
?
提示:如果在創(chuàng)建DML觸發(fā)器時(shí)不使用 for each row 子句,則表示創(chuàng)建的是語句級觸發(fā)器,語句級觸發(fā)器對所有受影響的數(shù)據(jù)行只觸發(fā)一次,因此無法使用:NEW與:OLD標(biāo)識符獲取某列的新舊數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的:new与:old的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DML触发器实现日志功能
- 下一篇: 阿里技术专家光锥:亿级长连网关的云原生演