- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE [OF column [, column …]]} ON [schema.] table_name [FOR EACH ROW ] trigger_body; 触发器触发次序 执行 BEFORE语句级触发器; 对与受语句影响的每一行: 执行 BEFORE行级触发器 执行 DML语句 执行 AFTER行级触发器? 执行 AFTER语句级触发器 创建DML触发器 触发器名与过程名和包的名字不一样,它是单独的名字空间,因而触发器名可以和表或过程有相同的名字,但在一个模式中触发器名不能相同。 DML触发器的限制 CREATE TRIGGER语句文本的字符长度不能超过32KB; 触发器体内的SELECT 语句只能为SELECT … INTO …结构,或者为定义游标所使用的SELECT 语句。 触发器中不能使用数据库事务控制语句 COMMIT; ROLLBACK, SVAEPOINT 语句; 由触发器所调用的过程或函数也不能使用数据库事务控制语句; 触发器中不能使用LONG, LONG RAW 类型; 触发器内可以参照LOB 类型列的列值,但不能通过 :NEW 修改LOB列中的数据; :NEW 和 :OLD 问题:当触发器被触发时,要使用被插入、更新或删除的记录中的列值,有时要使用操作前、 后列的值。 实现: :NEW 修饰符访问操作完成后列的值 :OLD 修饰符访问操作完成前列的值 实例 CREATE TABLE emp_his AS SELECT * FROM EMP WHERE 1=2; CREATE OR REPLACE TRIGGER del_emp BEFORE DELETE ON scott.emp FOR EACH ROW BEGIN -- 将修改前数据插入到日志记录表 del_emp ,以供监督使用。 INSERT INTO emp_his(deptno , empno, ename , job ,mgr , sal , comm , hiredate ) VALUES( :old.deptno, :old.empno, :old.ename , :old.job, :old.mgr, :old.sal, :m, :old.hiredate ); END; DELETE emp WHERE empno=7788; DROP TABLE emp_his; DROP TRIGGER del_emp; 创建替代(INSTEAD OF)触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name INSTEAD OF {INSERT | DELETE | UPDATE [OF column [, column …]]} ON [schema.] view_name [FOR EACH ROW ] trigger_body; 删除触发器 删除触发器语法: DROP TRIGGER trigger_name; 当删除其他用户模式中的触发器名称,需要具有DROP ANY TRIGGER系统权限,当删除建立在数据库上的触发器时,用户需要具有ADMINISTER DATABASE TRIGGER系统权限。 使能触发器 数据库TRIGGER 的状态: 有效状态(ENABLE):当触发事件发生时,处于有效状态的数据库触发器TRIGGER 将被触发。 无效状态(DISABLE):当触发事件发生时,处于无效状态的数据库触发器TRIGGER 将不会被触发,此时就跟没有这个数据库触发器(TRIGGER) 一样。 语法: ALTER TRIGGER trigger_name [DISABLE | ENABLE ]; 例:ALTER TRIGGER emp_view_delete DISABLE; * * * * * * * * * 函数的调用 实例 DECLARE V_num NUMBER; V_sum NUMBER; BEGIN V_sum :=get_salary(30, v_num); DBMS_OUTPUT.PUT_LINE(30号部门工资总和:||v_sum||,人数:||v_num); END; 运行结果: 30号部门工资总和:9400,人数:6 创建过程 创建过程语法 : CREATE [OR REPLACE] PROCEDURE Procedure_na
您可能关注的文档
- 第二章 离散傅里叶变换与其快速算法.ppt
- 第4讲MSP430数字IO.ppt
- 13.数据选择器和分配器(第九周).ppt
- 第六章 Word论文排版样例.docx
- 第3篇 计算机数控装置.ppt
- 1.收益和风险(高级投资学-吉林大学,陈守东).pdf
- 第四章 VAA-CPU.doc
- 第一篇 网络基本知识(IP地址).ppt
- 第六章 word显示该文档未能注册.doc
- DoS和DD0S技术详解.pdf
- 7.2.1 平行线的概念 课件-人教版数学七年级下册.pptx
- Unit 6 Useful numbers Part B Talk & Learn & Start to read人教PEP版(2024)英语三年级上册.pptx
- 第21课《己亥杂诗》课件 七年级语文下册 统编版.pptx
- 第8课 北宋的政治(课件)七年级历史下册课件(统编版2024).pptx
- 7.1两条直线的位置关系(第2课时)六年级数学下册(鲁教版2024).pptx
- 第3课 “开元盛世”(课件)七年级历史下册课件(统编版2024) (2).pptx
- 2.3中国传统山水画(课件)高一美术上册(人教版2019).pptx
- 第20课 三国两晋南北朝时期的科技与文化-统编版(2024)七年级历史上册.pptx
- 1B U8Traffic Safety课件 初中英语课件.pptx
- Unit 4 Plants around us Part A letters and sounds人教PEP版(2024)英语三年级上册.pptx
最近下载
- 《静电防护培训》课件.ppt VIP
- 纳米技术在医学治疗中的应用.pptx VIP
- 保健院HIV感染孕产妇临产预案.doc VIP
- 流程管理 空分基本概念与流程组织.pdf VIP
- 创伤严重程度(AIS)(ISS)评分表(完整版).docx VIP
- 中职旅游服务与管理专业人才培养方案.docx VIP
- 大学生劳动就业法律问题解读知到课后答案智慧树章节测试答案2025年春华东理工大学.docx VIP
- 标准图集-04S531-4 湿陷性黄土地区给水阀门井.pdf VIP
- 二年级上册音乐教案第5课 欣赏《两颗星星》|花城版.docx VIP
- 《一例左胫骨平台外侧骨折的患者的护理研究》5200字.docx VIP
原创力文档


文档评论(0)