pl/sql development 创建触发器
来源:互联网 发布:淘宝安装服务商 编辑:程序博客网 时间:2024/05/07 15:46
选择触发器-->新建
触发器的名字:自拟定的
触发时间:bofore 执行事件之前
AFTER 触发器定义了对表执行了 INSERT、UPDATE 或 DELETE 语句操作之后再执行的操作。比如对某个表中的数据进行了更新操作后,要求立即对相关的表进行指定的操作,这时就可以采用 AFTER 触发器。AFTER 触发器只能在表上指定,且动作晚于约束处理。
INSTEAD OF触发器指定执行触发器而不是执行触发 的SQL 语句,从而替代触发语句的操作。
在表或视图上,每个 INSERT、UPDATE 或 DELETE 语句最多可以定义一个 INSTEAD OF 触发器。然而,可以在每个具有 INSTEAD OF 触发器的视图上定义视图。
执行事件:1 增加 2修改 3删除 4增加或修改 5增加或修改或删除
选择相应的表或视图
Statement level总结:针对语句执行的则勾选,只触发一次,代码中没有For each row;针对语句操作的数据行则不勾选,每条受语句影响且符合触发条件的数据,都会触发一次触发器,代码中有For each row。
触发器创建实例
create or replace trigger yswz_inserr_xw before insert --创建的时候设定的在insert执行之前 on ys_xx_xwzx --在哪个表格执行 for each row --行级触发器 这个没理解 要是哪位大神理解的话 可以留言交流下declare -- local variables herebegin IF (TO_CHAR(sysdate,'DAY') IN ('星期六','星期日')) OR (TO_CHAR(sysdate, 'HH24:MI') NOT BETWEEN '08:30' AND '18:00') THEN RAISE_APPLICATION_ERROR(-20001, '不是上班时间,不能修改新闻表');end if;end;
触发触发器的执行效果图
和上面的触发器实例可能稍有不服,但是不影响测试结果
再来一个触发器实例
create or replace trigger yswz_insert_xw_log after insert on ys_xx_xwzx for each rowdeclarebegin if inserting then --当执行新增操作时执行 insert into FAIL_LOG ( sid,SBYY,jlxgsj ) values (:new.sid,'insert',:new.jlxgsj) ;end if;end;
使用触发器创建自增长序列
首先创建一个sequence
CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXvalue -- 不设置最大值NOCYCLE -- 一直累加,不循环CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE接下来创建触发器
create or replace trigger yswz_insert_sjbh before insert or update on ys_cx_kfdw_xm_ld_fj for each rowdeclare -- local variables herebegin if inserting then insert into fail_log (sid,sjbh ) values (:NEW.SID ,seq_fs_log.Nextval) ;end if;end;
1 0
- pl/sql development 创建触发器
- PL/SQL之触发器创建
- pl/sql 触发器
- PL/SQL --> DML 触发器
- 8.PL/SQL触发器
- PL/SQL触发器
- 触发器 ORACLE PL/SQL
- ORACLE PL/SQL触发器
- PL/SQL(七):触发器
- PL-SQL 触发器
- PL/ SQL 触发器
- ORACLE PL/SQL:触发器
- ORACLE PL/SQL 触发器
- PL/SQL 触发器简介
- PL/SQL 基础---触发器
- PL/SQL 触发器
- 在PL/SQL中创建触发器后无反应
- PL/SQL创建简单的触发器trig…
- 八大排序算法
- 百度网盘搜索
- 【OpenCV3】直线拟合——cv::fitLine()详解
- C++ Primer 总结之Chap2 Variables and basic types
- R语言快速入门_获取帮助
- pl/sql development 创建触发器
- c++ 遍历目录下文件
- git问题集合
- 在信息时代重看《射雕英雄传》
- MySQL--online ddl原理
- c++11之左值引用和右值引用
- 结合Wireshark分析DNS 协议
- nginx中lua模块的一些常用参数
- selenium 工作原理