-
安全檢查觸發(fā)器
查看全部 -
觸發(fā)器創(chuàng)建格式:
有for each row 就是行級觸發(fā)器,沒有則是語級觸發(fā)器(語級觸發(fā)器只觸發(fā)一次不管涉及多少行數(shù)據(jù); 行級觸發(fā)器則是由多少行被改動(dòng)就觸發(fā)多少次)
查看全部 -
Oracle觸發(fā)器創(chuàng)建語法 create?trigger?觸發(fā)器名 after?insert?//在執(zhí)行插入數(shù)據(jù)之后觸發(fā) on?表名A??//在執(zhí)行表A插入數(shù)據(jù)之后觸發(fā) declare begin ??觸發(fā)之后做的操作 ??比如打印一句話:dbms_output.put_line('觸發(fā)器被引動(dòng)。'); end;
查看全部 -
觸發(fā)器使用場景:數(shù)據(jù)的備份和同步
查看全部 -
觸發(fā)器使用場景:基于值的審計(jì)功能
查看全部 -
觸發(fā)器場景:數(shù)據(jù)的確認(rèn)
查看全部 -
實(shí)施復(fù)雜的安全性驗(yàn)證:
查看全部 -
創(chuàng)建觸發(fā)器的語法:
查看全部 -
觸發(fā)器的具體應(yīng)用場景:?
復(fù)雜的安全性檢查
禁止在非工作時(shí)間添加員工(周末、9~17之外的時(shí)間),使用語句級觸發(fā)器
數(shù)據(jù)的確認(rèn):比如漲工資不能長成負(fù)的
數(shù)據(jù)庫審計(jì):類似于操作日志
數(shù)據(jù)的備份和同步:主從數(shù)據(jù)同步
查看全部 -
數(shù)據(jù)的備份和同步? 幾乎無延時(shí)
create table emp_back as select * from emp
create or replace trigger sync_salary_
after update
on emp
for each row
begin?
?update emp_back set sal = :new.sal where empno = :new.empno;
end;
/
查看全部 -
數(shù)據(jù)庫的審計(jì)? -->基于值的審計(jì)
create table audit_info
(
? information varchar2(200)
);
create or replace trigger do_audit_emp_salary
after update
on emp
for each row
begin
?if :new.sal > 6000 then
? ?insert into audit_info value (:new.empno||' '||:new.ename||' '||:new.sal);
?end if;
end;
/
查看全部 -
create or replace trigger checksalary
before update
on emp
for each row
begin
? if? :new.sal? <? :old.sal? ?then
? ? raise_application_error(-20002,'**不能少于**');
? end if;
end;
/
查看全部 -
create or replace trigger securityemp
before insert
on emp
declare
begin
?if to_char(sysdate,'day')in('星期六','星期日')or
? to_number(to_char(sysdate,'hh24'))not between 9 and 18 then
? ? raise_application_error(-20001,'禁止在非工作時(shí)間')? ? ? ? ? ? ?--自定義錯(cuò)誤代碼2w到2w0999;
end;
/
查看全部 -
create or replace ttrigger secuurity emp before insert
on emp
begin
if to_char(sysdate,'day') in ('星期六','星期日') or?
? ?to_number(to_char(sysdate,'hh24')) not between 9 and 18 then
raise_application_error('-20001','禁止在非工作時(shí)間插入新員工')
end if;
end;
查看全部 -
raise_application_error拋出錯(cuò)誤
:old,:new分表表示語句級觸發(fā)器中操作前的行的值和操作后的行的值
用法[ :old.column ]
查看全部
舉報(bào)