大家好,又见面了,我是你们的朋友全栈君。
首先创建两张测试表:
CREATE TABLE test ( t_id NUMBER(4), t_name VARCHAR2(20), t_age NUMBER(2), t_sex CHAR );
CREATE TABLE test_log ( caozuo VARCHAR2(20),tdate date );
然后创建触发器并且进行测试:
CREATE OR REPLACE TRIGGER test_trigger
AFTER DELETE OR INSERT OR UPDATE ON test
DECLARE v_type test_log.caozuo%TYPE;
BEGIN
IF INSERTING THEN
–INSERT触发
v_type := ‘INSERT’;
DBMS_OUTPUT.PUT_LINE(‘记录已经成功插入,并已记录到日志’);
ELSIF UPDATING THEN
–UPDATE触发
v_type := ‘UPDATE’;
DBMS_OUTPUT.PUT_LINE(‘记录已经成功更新,并已记录到日志’);
ELSIF DELETING THEN v_type := ‘DELETE’;
DBMS_OUTPUT.PUT_LINE(‘记录已经成功删除,并已记录到日志’);
END IF;
INSERT INTO test_log VALUES(v_type, sysdate);
END;
然后进行测试:
执行insert语句:
INSERT INTO test VALUES(101,’zhao’,22,’M’);此时查询select * from test_log表会生成记录:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157399.html原文链接:https://javaforall.cn