createtable emp_his as
select
*from emp where1=
2; create
orreplace
trigger
tr_del_emp
before
delete
--指定觸發時機為刪除操作前觸發
onscott.emp
for each row --
說明建立的是行級觸發器
begin
--將修改前資料插入到日誌記錄表 del_emp ,以供監督使用。
insert
into
emp_his(deptno , empno, ename , job ,mgr , sal , comm , hiredate )
values
( :old.deptno, :old.empno, :old.ename , :old.job,:old.mgr, :old.sal, :old.comm, :old.hiredate );
end;
createorreplace
trigger
tr_dept_time
before
insert
ordelete
orupdate
ondepartments
begin
if (to_char(sysdate,'
day') in ('
星期六', '
星期日')) or (to_char(sysdate, '
hh24:mi
') not
between
'08:30
'and
'18:00
') then
-20001, '
不是上班時間,不能修改departments表');
endif;
end;
createorreplace
trigger
tr_emp_sal_comm
before
update
ofsalary, commission_pct
ordelete
onhr.employees
foreach row
when (old.department_id =80)
begin
case
when updating ('
salary
') then
if :new.salary < :old.salary then
-20001, '
部門80的人員的工資不能降');
endif
;
when updating ('
commission_pct
') then
if :new.commission_pct < :old.commission_pct then
-20002, '
部門80的人員的獎金不能降');
endif
;
when deleting then
-20003, '
不能刪除部門80的人員記錄');
endcase
;end;
createorreplace
trigger
tr_reg_cou
after
update
ofregion_id
onregions
foreach row
begin
dbms_output.put_line(
'舊的region_id值是'||
:old.region_id
||'、新的region_id值是'||
:new.region_id);
update countries set region_id =
:new.region_id
where region_id =
:old.region_id;
end;
觸發器小例子!
insert 觸發器 create trigger tri infodetails i on info details after insert asdeclare id int begin delete from info details where id select id id from in...
WPF 觸發器例子
wpf的觸發器很強大,這裡簡單附上觸發器的乙個小例子,分別用xmal和cs 來實現乙個功能,滑鼠懸停在button上時改變字型顏色 1.xmal 如下 cs 如下 public mainwindow 例項style,引數帶上控制項型別 style m style new style typeof b...
ORACLE觸發器 行級觸發器
行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...