【赵强老师】利用数据库触发实现复杂的安全性检查

发布时间:2020-08-06 23:36:28 作者:zhaoqiang7788
来源:ITPUB博客 阅读:103

【赵强老师】利用数据库触发实现复杂的安全性检查

一、什么是触发器

数据库触发器是一个与表相关联的,存储的PL/SQL 语句。每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列。

触发器的应用场景如下:

二、创建Oracle触发器的语法

CREATE [OR REPLACE] TRIGGER trigger_name  
{BEFORE | AFTER }  
{INSERT | DELETE | UPDATE [OF column [, column …]]}  
[OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...]  
ON [schema.]table_name | [schema.]view_name  
[REFERENCING {OLD [AS] old | NEW [AS] new| PARENT as parent}]  
[FOR EACH ROW ]  
[WHEN condition]  
PL/SQL_BLOCK | CALL procedure_name;

其中:

三、Oracle触发器的类型

四、利用数据库触发实现复杂的安全性检查

/*
实施复杂的安全性检查
禁止在非工作时间插入新员工
周末:to_char(sysdate,'day') in ('星期六','星期日')
上班前和下班后:to_number(to_char(sysdate,'hh34')) not between 9 and 18 
*/
create or replace trigger securityemp
before insert
on emp
begin
  if to_char(sysdate,'day') in ('星期六','星期日') or
     to_number(to_char(sysdate,'hh34')) not between 9 and 18 then
     --禁止insert操作 抛出异常
     raise_application_error(-20001,'禁止在非工作时间插入新员工');
  end if;
end;
/

【赵强老师】利用数据库触发实现复杂的安全性检查

推荐阅读:
  1. 其实win10要比win7的安全性强很多
  2. 【赵强老师】使用MongoDB的命令行工具:mongoshell

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

利用 复杂 安全性

上一篇:Tungsten Fabric:连接CMP的金钥匙丨TF Meetup演讲实录

下一篇:12C RMAN备份恢复

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》