Oracle触发器13

一步一步跟着步骤敲:

1,

建一个员工表和一个部门表

create table t_emp( 

empid number(2) primary key, 

empname varchar2(20), deptid number(2) ); 

create table t_dept(  

deptid number(2) primary key, 

deptname varchar2(20) );

insert into t_emp values(01,‘jason01‘,10);

insert into t_emp values(02,‘jason02‘,20);

insert into t_emp values(03,‘jason03‘,30);

insert into t_emp values(04,‘jason04‘,40); 

insert into t_dept values(10,‘软件部‘);

insert into t_dept values(20,‘销售部‘);

insert into t_dept values(30,‘工程部‘);

insert into t_dept values(40,‘财务部‘);

设计1:创建触发器,在删除一个部门记录后,删除该部门下的所有员工的记录。

答:

创建数据表后,显示数据如下:

Oracle触发器13  Oracle触发器13?

触发器创建如下:

Oracle触发器13

 

 2,创建触发器,在增加一个部门记录后,在员工表中增加一条在这个部门下的员工(可自行定义员工信息)。

答:

触发器创建如下:

Oracle触发器13?

在dept表添加一条部门信息,比如5号,

Oracle触发器13

员工表就自动执行此触发器,添加了其中的员工jason05的信息:

Oracle触发器13

3, 创建触发器,在更新一个部门编号后,更新该部门下的所有员工的部门编号。

答:

触发器创建如下:

Oracle触发器13

Oracle触发器13

举例:将部门编号为10修改为11之后,

Oracle触发器13

此触发器自动执行,将员工表中员工所属部门编号10的都改为了11

Oracle触发器13

 4,将对一个表的动作(插入、删除、修改操作)记录到一张LOG表中(此表可自定义建立),记录:当前用户,时间,动作。

答:

创建表如下(自定义表名和字段)

Oracle触发器13

触发器:

Oracle触发器13

当依次进行插入,修改和删除操作之后:

Oracle触发器13

log表中自动添加用户操作记录:

Oracle触发器13

Oracle触发器13

上一篇:Linux平台达梦数据库V7数据库的创建与配置


下一篇:mysql 查询结果为空时值时执行后面的sql语句