-
触发器之数据确认:
查看全部 -
实施复杂的安全检查:
查看全部 -
触发器详解:
查看全部 -
创建触发器:
查看全部 -
数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(insert、update、delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。也就是说select语句是没有触发器的!
create trigger saynewemp
after insert
on emp
declare
begin
dbms_output.put_line('成功插入新员工');
end;
/
查看全部 -
触发器是一个特殊的存储过程,存储过程和存储函数是完成特定功能的一个PL/SQL程序,触发器也是一个PL/SQL程序。
触发器的应用场景:
复杂的安全性检查
数据确认
实现审计功能
完成数据的备份和同步
Oracle中的触发器类型:语句级触发器和行级触发器
查看全部 -
1、语句级触发器:针对表
--在指定的操作语句操作之前或之后执行一次,不管这条语句影响了多少行
2、行级触发器:针对行
--触发语句作用的每一条记录都被触发。在行级触发器中使用:old和:new伪记录变量,识别值得状态。
查看全部 -
1、select没有触发器
2、与表关联,由表触发(insert,update,delete)
3、触发器--trigger
3、语法:create or replace trigger 【name】
after insert
on tablename
declare
begin
end
/
查看全部 -
一、触发器应用场景
1、复杂的安全性检查
2、数据确认
3、实现审计功能
4、完成数据的备份和同步
二、触发器的语法
--PLSQL语句
三、触发器类型
--语句级触发器和行级触发器
查看全部 -
before 操作之前
after 操作之后
----------------------
delete 删除操作
insert 插入操作
update 更新操作
---------------------
查看全部 -
数据库备份
查看全部 -
<h5>触发器应用场景三: 数据的审计</h5><p><strong>基于值</strong>得审计功能</p><p>例子:给员工涨工资,当涨后的薪水超过6000块时候,审计该员工的信息</p><p> 创建表,用于保存审计信息</p><p>create table audit_info( information varchar2(200) );</p><p> create or replace trigger do_audit_emp_salary</p><p>after update on emp for each row</p><p>begin if :new.sal>6000 then</p><p> insert into audit_info values(:new.empno||' '||:new.ename||' '||:new.sal);</p><p> end if;</p><p> end;</p><p>/</p><p><br /></p>查看全部
-
认识::new 和:old区别 与行级触发器
涨工资不能越涨越少
:old 表示操作该行之前这一行的值
:new 表示操作该行之后这一行的值
create or replace trigger check_salary
before update on emp for each row
begin
if :new.sal<:odl.sal then
raise_application_error(-20002,'涨后薪水不能少于涨前薪水。 涨后薪水为:'||:new.sal ||'涨前的薪水:'||:old.sal);
end if;
end;
/
查看全部 -
触发器案例一:复杂的安全性检查
1,禁止在非工作时间插入数据
--禁止在非工作时间插入新员工
select sysdate from dual; --SYSDATE
select to_char(sysdate,'day') from dual;--查看系统时间是星期几
1, 周末:to_char(sysdate,"day")in('周六','周日')
2, 上班前,下班后 to_number(tochar(sysdate,'hh24'))not between 9 and 18 select to_char(sysdate,'hh24') from dual;
select to_number(to_char(sysdate,'hh24'))from dual;
查看全部 -
1、创建触发器的语句块
2.触发器的两种类型
语句级触发器:不管这条语句影响多少行,只执行一次(针对表)
行级触发器:每影响一行,都被触发一次。行级触发器中使用:old :new伪记录变量(针对行)
查看全部
举报