觸發器實例講解2008-11-27 09:17--[6]// ---------------------------------------------------------------------------------------------// --實例1------------------------ --創建觸發器,當用戶對test表執行DML語句時,將相關信息記錄到日志表 --創建測試表 TABLE test ( t_id (4), (20), t_age (2), t_sex CHAR ); --創建記錄測試表 TABLE ( (15), (15), (30) ); --創建觸發器 OR AFTER OR OR ON test 。
%TYPE; BEGIN IF THEN --觸發 := ''; 。('記錄已經成功插入,并已記錄到日志'); ELSIF THEN --觸發 := ''; 。('記錄已經成功更新,并已記錄到日志'); ELSIF THEN := ''; 。('記錄已經成功刪除oracle觸發器更新本表,并已記錄到日志'); END IF; INTO (user,, (,'yyyy-mm-dd hh24:mi:ss')); END; / --下面我們來分別執行DML語句 INTO test (101,'zhao',22,'M'); test SET t_age = 30 WHERE t_id = 101; test WHERE t_id = 101; --然后查看效果 * FROM test; * FROM ; --實例2------------------------ --創建觸發器,它將映射emp表中每個部門的總人數和總工資 --創建映射表 TABLE AS ,COUNT(empno) AS ,SUM(sal) AS FROM emp GROUP BY ; DESC ; --創建觸發器 OR AFTER OR OR ON emp IS ,COUNT(empno) AS ,SUM(sal) AS FROM emp GROUP BY ; BEGIN ; --觸發時首先刪除映射表信息 FOR v_emp IN LOOP --。
(v_emp。 || v_emp。 || v_emp。); --插入數據 INTO (v_emp。,v_emp。,v_emp。); END LOOP; END; / --對emp表進行DML操作 INTO emp(empno,,sal) ('123','10',10000); * FROM ; EMP WHERE empno=123; * FROM ; --實例3------------------------ --創建觸發器oracle觸發器更新本表,它記錄表的刪除數據 --創建表 TABLE ( id (4) NOT NULL, name (15)