oracle触发器示例,Oracle触发器简单示例

2022-09-08 15:54:50 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

首先创建两张测试表:

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

0 人点赞