加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

触发器

发布时间:2020-12-12 09:04:03 所属栏目:MsSql教程 来源:网络整理
导读:目录 一、DML触发器 emp_del emp each row emp_del (deptno,empno) emp t t.empno (true) RAISE_APPLICATION_ERROR( ,TO_CHAR(sysdate, ) ); span style="color: #0000ff;"delete dept t span style="color: #0000ff;"where t.deptnospan style="color: #808

目录

一、DML触发器

emp_del emp each row emp_del (deptno,empno) emp t t.empno (true) RAISE_APPLICATION_ERROR(,TO_CHAR(sysdate,)); <span style="color: #0000ff;">delete dept t <span style="color: #0000ff;">where t.deptno<span style="color: #808080;">=<span style="color: #ff0000;">'<span style="color: #ff0000;">10<span style="color: #ff0000;">';

ename,job emp (old.empno ) UPDATING() :new.ename :old.ename , :old.ename , , UPDATING() :NEW.job :old.job , DELETING , <span style="color: #008080;">--<span style="color: #008080;">7499 7566
<span style="color: #0000ff;">select
<span style="color: #808080;">*
<span style="color: #0000ff;">from
emp t <span style="color: #0000ff;">where
t.empno <span style="color: #808080;">=
<span style="color: #800000; font-weight: bold;">7499
<span style="color: #000000;">;
<span style="color: #0000ff;">delete
emp t <span style="color: #0000ff;">where
t.empno <span style="color: #808080;">=
<span style="color: #800000; font-weight: bold;">7499
<span style="color: #000000;">;
<span style="color: #0000ff;">update
emp t <span style="color: #0000ff;">set
t.job<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">12223
<span style="color: #ff0000;">'
<span style="color: #0000ff;">where
t.empno<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">7499
<span style="color: #ff0000;">'
<span style="color: #000000;">;
<span style="color: #0000ff;">update
emp t <span style="color: #0000ff;">set
t.ename<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">123
<span style="color: #ff0000;">'
<span style="color: #0000ff;">where
t.empno<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">7499
<span style="color: #ff0000;">'
;

二、INSTEAD_OF触发器

t.empno emp t emp empno <span style="color: #008080;">--
<span style="color: #0000ff;">delete
my_ceshi_view t <span style="color: #0000ff;">where
t.EMPNO<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">7698
<span style="color: #ff0000;">'
;

三、系统触发器

( (((<span style="color: #008080;">--<span style="color: #008080;">创建系统事件DDL触发器
<span style="color: #0000ff;">CREATE
<span style="color: #808080;">OR
<span style="color: #ff00ff;">REPLACE
<span style="color: #0000ff;">TRIGGER
<span style="color: #000000;"> tr_ddl
AFTER DDL
<span style="color: #0000ff;">ON
<span style="color: #0000ff;">SCHEMA

<span style="color: #0000ff;">BEGIN

<span style="color: #0000ff;">INSERT
<span style="color: #0000ff;">INTO
<span style="color: #000000;"> ddl_event
<span style="color: #0000ff;">VALUES
<span style="color: #000000;">
(systimestamp,ora_sysevent,ora_login_user,ora_dict_obj_type,ora_dict_obj_name);
<span style="color: #0000ff;">END
<span style="color: #000000;"> tr_ddl;

<span style="color: #0000ff;">create <span style="color: #0000ff;">table emp_bak <span style="color: #0000ff;">as <span style="color: #0000ff;">select <span style="color: #808080;"> <span style="color: #0000ff;">from<span style="color: #000000;"> emp;
<span style="color: #0000ff;">select <span style="color: #808080;">
<span style="color: #0000ff;">from ddl_event;

四、删除触发器 ?修改触发器状态 关闭打开

trigger_name ; tr_del_emp DISABLE ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读