【PL/SQL】07触发器

触发器[理解]

注意:创建表作为验证时,不要再dba权限下建表,否则会无法删除

某个条件成立的时候,触发器里面所定义的语句就会被自动执行。
不需要人为调用也不可调用,触发条件在定义的时候已经设置好了

与表相关联、存储的pl/sql程序
DML(insert、update、delete)在指定表上发出时,自动执行触发器中定义的语句序列
**插入员工后打印一句话**

类型 语句级和行级

语句级触发器

在指定语句执行之前或之后执行一次,不管这条语句影响多少行

行级触发器 for each row

每一条记录都被触发

触发器适用条件

  • 数据确认
  • 实施复杂的安全检查
  • 审计 跟踪表上做出的数据操作
  • 数据备份和同步
--创建表空间
create tablespace lambor
logging
datafile 'c:\lambor.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

--建立主键的自增序列
--Orcle实现主键自动增长的序列,触发器
--建立数据表
create table test_increase01(
       userid number(10) primary key,
       --主键,自动增加
       username varchar2(20)
);

drop table test_increase;
select * from test_increase01;

--创建自动增长序列
create sequence testincrease_sequence
increment by 1--每次加1个
start with 1
nomaxvalue
nocycle
cache 10;

--创建触发器
create trigger test_increase01 before
insert on test_increase01 for each row
begin
  select testincrease_sequence.nextval into:new.userid from dual;
  end;
  --提交
  commit;
  
  --测试,反复执行
  
  
insert into test_increase01(username)values('test');
  

创建触发器,记录表的删除数据

在这里插入图片描述
在这里插入图片描述

发布了56 篇原创文章 · 获赞 16 · 访问量 5065

猜你喜欢

转载自blog.csdn.net/qq_40892702/article/details/103142548