函式--觸發器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...