觸發器中old 和 new修飾詞,old 代表變更前記錄,new代表變更後的記錄。
create or replace trigger derive_commission_pct
before insert or update of salary on employees
for each row
when (new.job_id = 'sa_rep')
begin
if inserting
then :new.commission_pct := 0; --給:new.commission_pct賦值
elsif :old.commission_pct is null
then :new.commission_pct := 0;
else
:new.commission_pct := :old.commission_pct + 0.05;
end if;
end;
說明:
1、這兩個變數只有在使用了關鍵字 "for each row"時才存在.且update語句兩個都有,而insert只有:new ,delect 只有:old。
2、可以使用when限制 trigger的觸發條件。
3、new的賦值動作,想一想,如果是after型別的trigger, 還允許對:new賦值嗎? 沒有
Oracle觸發器中的new和old
對於oracle觸發器中的new和old new 為乙個引用最新的列值 old 為乙個引用以前的列值 這兩個變數只有在使用了關鍵字 for each row 時才存在.且update語句兩個都有,而insert只有 new delect 只有 old createorreplacetriggertr...
mysql new mysql觸發器new和old
下面為您介紹mysql觸發器new old的相關知識,供您參考學習,如果您在mysql觸發器方面遇到過類似的問題,不妨一看,相信對您會有所幫助。mysql觸發器new old new column name 或者 old column name 這樣在技術上處理 new old column nam...
Oracle中sequenc和觸發器
oracle中的sequence即序列號,在取的時候會隨著規定增長。比如1個由1開始,每次增長1的序列號。create trigger seq user1 start with 1 increment by 1 序列號,通常被我們用於作為自動增長的id號進行使用。對於乙個user1 id,usern...