时间: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 知识点