`
wangyanlong0107
  • 浏览: 481235 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

orcale触发器

 
阅读更多

Oracle 触发器有语句级触发器和行级触发器

 

语句级触发器  当删除部门表中的部门号时,同时删除掉员工表中部门号为:old.deptno的记录

create or replace trigger del_dept_id
after delete on dept
for each row
begin
delete from emp where deptno=:old.deptno;
end;

 

当往部门表插入时,同时在员工表中插入一句,其中:new.deptno 为插入的部门编号

create or replace trigger insert_dept
after insert on dept
for each row
begin
insert into emp(empno,ename,job,mgr,sal,hiredate,deptno) values('1234','JAMES','job',7566,3456,sysdate,:new.deptno);
end;

 

修改时:

 create or replace trigger update_dept
 after update on dept 
 for each row
 begin
 update emp set deptno=:new.deptno  where deptno=:old.deptno;
 end;

/

 

上面的new 表和old表是在内存当中的

我们对哪个表进行了delete那么old表就和他的结构一样
我们对哪个表进行了insert那么new表就和他的结构一样
插入数据时候先插入到new表中,然后在插入实际的表中
删除数据时候先把数据放在old表中,提交后在从old表中删除

insert涉及new表
delete涉及old表
update涉及old和new表

混合类型触发器:

Inserting,deleting,updating三个谓词可以分别指示当前操作到底是哪个;

create or replace trigger hunhetrigger

before insert or update or delete on student

for each row

begin

    if inserting or updating then

              dbms_output.put_line('insert le.........');

    end if;

    if deleting then

              dbms_output.put_line('delete le .......');

    end if;

end;

/

分享到:
评论

相关推荐

    Orcale触发器,简单易懂

    初学者专用,老司机看了也能回顾知识,个人总结,不喜勿喷。

    Oracle触发器修改自身表

    1、行级触发器不支持 update 、select 、delete 对自身表的操作。 2、表级触发器 不支持 :new 和 :old对象 所以想要触发器对自身表数据做修该,则用行级触发器得到 :new 和 :old对象中的相关数据,然后将这样的数据...

    《Oracle触发器与存储过程高级编程》.chm

    Programming Oracle Triggers and Stored Procedures, Third Edition, is an invaluable resource for database developers, designers, and project leaders looking to build and maintain truly intelligent, ...

    基于触发器和控制表的数据库同步系统

    该系统是用java开发的基于触发器和控制表的mysql数据库同步系统,实现两端或多端mysql数据库中表内容的同步,暂不支持表结构的同步。系统功能持续更新中。

    Oracle连接查询子查询以及存储过程触发器讲解

    这个非常经典的oracle数据库的操作,查询和视图,PLSQL介绍,存储过程和触发器的详细PPT讲解,希望对大家有所帮助,挺经典的。

    Navicat Premium中Oracle创建主键自增的方法

    1.选中表进入设计,选择触发器, 触发器名称,混合不选,每行,触发前,插入时,启用 2.下面展示触发器代码。 // An highlighted block BEGIN SELECT SEQ_EXAM_KNOWLEDGE_BASE.nextval INTO :NEW.ID FROM DUAL;...

    Oracle的ppt教学.zip

    orcale 11g的学习ppt,内容涵盖orcale的各个方面,对于初学者很有帮助,易懂易入门,章节如下 第1章 Oracle 11g数据库简介.ppt 第2章 安装Oracle 11g数据库.ppt 第3章 数据库管理、配置与维护.ppt 第4章 表管理....

    ORCALE语句大全

    创建一个触发器 create trigger student_trigger before insert on student for each row when(new.SNo is null) begin select student_sequence.nextval into:new.SNo from dual;end;/ 最近插入一行数据 ...

    ORACLE8i 数据库基础 (初稿) 赵元杰

    3.给出了许多资料所没有提供的一些使用技巧,如导出触发器等。总之,内容基本上包括当前Oracle8I的最新内容。同时也覆盖了最新的ORACLE8i OCP培训大纲的内容。不仅包含ORACLE 程序设计人员、DBA所必须掌握的知识,...

    oracle主键自增

    oracle 数据库主键自增脚本 --第一步,创建表 --第二步,创建自增序列 --第三步,创建触发器

    oracle设置主键自动增长

    oracle设置主键自动增长 首先,你要有一张表! 然后,你需要一个自定义的sequence  以上代码完成了一个序列(sequence)的建立过程,名称为... 书接上文,你只有了表和序列还不够,还需要一个触发器来执行它!代码如下:

    Oracle数据库赵强视频教程【3天】

    教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL简单查询触发器视图(赵强)  资源太大,传百度网盘了,链接在...

    Oracle数据库中创建自增主键的实例教程

    Oracle的字段自增功能,可以利用创建触发器的方式来实现,接下来我们就来看看Oracle数据库中创建自增主键的实例教程,需要的朋友可以参考下

    Oracle数据库实验操作

    实验39:触发器 80 实验40:编写函数 82 实验41:编写存储过程 83 实验42:编写包package 85 第三部分数据库的体系结构 88 实例的维护 88 实验43:数据库的最高帐号sys的操作系统认证模式 90 实验44:数据库的最高...

    数据库学习基础之名词解释

    Orcale具有很好的可移植性,通过它的通信功能,微型计算机上的程序可以同小型乃至大型计算机上的Orcale,并且能相互传递数据。另外Orcale还具有与C语言的接电子表格、图形处理等软件。 Orcale属于大型数据库系统,...

    数据库课程设计-JAVA个人记账管理系统.doc.doc

    6 3.5 触发器设计 7 3.6 角色、用户、权限设计 8 3.7 备份方案设计 94 课程设计总结 9 4.1 程序运行结果 9 4.2 设计结论 11参考文献 12致 谢 12附 录 131 前言设计一个个人记账管理系统,用JAVA来编写。综合运用JAVA...

    ORACLE文档

    ORACLE文档,表空间,用户权限,语句集合,有你想要的!存储过程、触发器、游标、详细说明。

    Hibernate注解

    * 6.select 使用触发器生成主键(主要用于早期的数据库主键生成机制,少用) * 例:@GeneratedValue(generator = "paymentableGenerator") * @GenericGenerator(name = "paymentableGenerator", strategy = "select...

Global site tag (gtag.js) - Google Analytics