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

oracle触发器示例,Oracle触发器简单示例首先创建两张测试表:CREATETABLEtest(t_idNUMBER(4),t_nameVARCHAR2(20),t_ageNUMBER(2),t_sexCHAR);CREATETABLEtest_log(caozuoVARCHAR2(20),tdatedate);然后创建触发器并且进行测试:CREATEORREPLACETRIGGERtest_t…

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

首先创建两张测试表:

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表会生成记录:

0818b9ca8b590ca3270a3433284dd417.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157399.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号