函式 觸發器

2021-04-28 14:21:10 字數 1141 閱讀 6117

函式--觸發器2009-05-26 13:39

(分類:

oracle語句

)--函式

create or replace function sal_tax(v_sal number)

return number;

is begin

if(v_sal<2000) then

return 0.10;

elsif(v_sal<2750)then

return 0.15;

else

return 0.20;

end if;

end;

select sal_tax(sal)  from emp;

--觸發器

create table emp2_log

(uname varchar2(20),

action varchar2(10),

atime date

);----------

create or replace trigger trig

after insert or delete or update on  emp2 for each row

begin

if inserting

insert into emp2_log values(user,'insert',sysdate);

elsif updating then

insert into emp2_log values(user,'update',sysdate);

elsif deleting  then

insert into emp2_log values(user,'update',sysdate);

end if;

end;

----------

update emp2 set sal=sal*2 where  deptno=30;

select * from emp2_log;

注:after 表示在insert ,delete ,update 語句執行完之後再進行觸發

before表示在insert ,delete ,update  語句執行前進行觸發

for each 表示在每影響一條記錄後

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...

觸發器(五 復合觸發器)

oracle11g開始提供了一種復合觸發器,簡單的說就是支援把語句級和行級觸發器組合在一起。實際應用場景不多,這裡就做個記錄。與單個觸發器語法有所區別 1.單個觸發器的頭部是 before after 動作 on 物件 for 觸發級別 而組合觸發器的頭部是 for 動作 on 物件 compoun...

mysql觸發器when MySQL觸發器

set quoted identifier on goset ansi nulls on goalter trigger trg risks on dbo.projectrisk for insert,update asbegin update projectrisk set classificat...