当前位置:Gxlcms > 数据库问题 > oracle 触发器(基础)

oracle 触发器(基础)

时间:2021-07-01 10:21:17 帮助过:8人阅读

进入主话题 

首先触发器的基本语法--记住一定是先执行触发器然后在执行你的操作方法

create or replace trigger 名字  --创建触发器

after/before   --在什么什么之后 /在什么什么之前

insert/update/delete --操作方法 你用哪个就写哪个

on      --理解为在的意思

student --表名

for each row

begin

逻辑处理

end;

------------------操作方法

insert into 表名 values();

update 表名 set 字段=字段 where ....;

delete from 表名 where 条件;

--举一个例子--我先写操作方法是为了写触发器作比较 写不容易出错误  希望认可的朋友可以借鉴一下

添加分数时,触发器打印 有人在做添加
INSERT INTO chenji VALUES(20080101,2,100);
删除分数时,触发器打印 有人在做删除
DELETE FROM chenji WHERE stuno=20080101
修改分数时,触发器打印 有人在做修改
UPDATE chenji SET score=99 WHERE stuno=20080101
-- 触发器
CREATE OR REPLACE TRIGGER t1
AFTER
INSERT OR DELETE OR UPDATE
ON chenji
FOR EACH ROW
BEGIN
IF inserting THEN -- 判断用户的动作
dbms_output.put_line(‘添加‘);
END IF;
IF deleting THEN
dbms_output.put_line(‘删除‘);
END IF;
IF updating THEN
dbms_output.put_line(‘修改‘);
END IF;
END;

技术图片

+for each row 为行级触发器,不加for each为语句级触发器 具体意思还是自己尝试一下效果最好!

图片里面end后面应该有个分号结束 可能是忘记写了

 

 

--补充一个知识点

触发器监控用户多个动作时,如何判断具体的动作
inserting :判断用户是否执行的是添加动作
deleting判断用户是否执行的是删除动作
updating判断用户是否执行的是修改动作

 

这个触发器知识说多也不多但是也不少  就是要套公式 基本公式掌握了 遇到一些问题就去套公式一般就能做出来了  最主要还是要理解触发器的原理 就OK!

                                                                                                                      时间 2019-03-05 晚上23:44  HaoDi888

 

oracle 触发器(基础)

标签:bms   一个   打印   执行   col   nbsp   into   begin   知识点   

人气教程排行