`
cakin24
  • 浏览: 1389438 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Oracle数据库触发器复杂的安全性检查

阅读更多

一 需求

禁止在非工作禁止插入新员工到员工表中
二 代码
  1. --触发器应用场景1:实施复制的安全性检查
  2. --禁止在非工作时间插入新员工
  3. /*
  4. 1、周末:to_char(sysdate,'day') in ('星期六','星期日')
  5. 2、上班前和下班后:to_number(to_char(sysdate,'hh24')) not between 9 and 18
  6. */
  7. create or replace trigger securityemp
  8. before insert
  9. on emp
  10. begin
  11. if to_char(sysdate,'day')in('星期六','星期日')or
  12. to_number(to_char(sysdate,'hh24'))not between 9and18then
  13. --禁止insert新员工
  14. raise_application_error(-20001,'禁止在非工作时间插入新员工');
  15. endif;
  16. end;
  17. /
三 验证
SQL> insert into emp(empno,ename,sal,deptno) values(1003,'Tome','3000',10);
insert into emp(empno,ename,sal,deptno) values(1003,'Tome','3000',10)
            *
第 1 行出现错误:
ORA-20001: 禁止在非工作时间插入新员工
ORA-06512: 在 "SCOTT.SECURITYEMP", line 5
ORA-04088: 触发器 'SCOTT.SECURITYEMP' 执行过程中出错
分享到:
评论

相关推荐

    oracle触发器的创建与使用

    【Oracle触发器的创建与使用】是数据库管理中不可或缺的一部分,尤其在Oracle数据库系统中,触发器扮演着关键角色。触发器是一种存储过程,当特定的数据库事件发生时(如INSERT、UPDATE或DELETE操作),它会被自动...

    Oracle数据库创建存储过程和触发器

    * 提高安全性:触发器可以限制用户的访问权限,提高数据库的安全性。 创建存储过程的步骤 创建存储过程需要遵循以下步骤: 1. 创建存储过程的语句:使用 CREATE PROCEDURE 语句创建存储过程。 2. 定义存储过程的...

    ORACLE数据库 ORACLE数据库

    - **安全性**:提供细粒度的权限控制,支持审计功能,保障数据安全。 - **可扩展性**:通过分区、表空间和索引组织等特性,实现大规模数据的管理和访问。 - **数据仓库与OLAP**:支持数据仓库构建,提供复杂分析...

    Oracle数据库体系结构( 中文详细版)

    10. **进程**(Processes):Oracle数据库运行时涉及多种进程,如数据库服务器进程(DBWn)、检查点进程(CKPT)、日志写入进程(LGWR)、系统监控(SMON)和进程监控(PMON)等,它们协同工作以保证数据库的正常...

    关于oracle触发器before和after的应用问题

    Oracle数据库系统中,触发器是一项核心功能,用于响应特定事件的自动执行代码块。本文旨在深入解析Oracle触发器中的Before和After两种触发时机,以及它们在数据库管理和维护中的具体应用。 #### 触发器概述 触发器...

    Oracle数据库对象管理及备份与恢复.pdf

    Oracle数据库对象管理及备份与恢复的知识点繁多且复杂,但掌握这些知识对于维护Oracle数据库的安全性和稳定性至关重要。通过本文的介绍,我们可以对Oracle数据库的相关操作和策略有更深入的了解。

    Oracle触发器语法详解

    * 安全性:可以基于数据库的值使用户具有操作数据库的某种权利。 * 审计:可以跟踪用户对数据库的操作。 * 数据完整性规则:可以实现复杂的数据完整性规则。 * 数据复制:可以同步实时地复制表中的数据。 在使用...

    oracle创建触发器实例

    Oracle 创建触发器是一种数据库编程技术,用于在特定的数据库事件发生时自动执行一段代码。在这个实例中,我们看到的是一个防止非本地机器执行DDL(Data Definition Language)操作的触发器,比如`TRUNCATE`、`ALTER...

    oracle数据库简单介绍

    2. **Oracle概述**:Oracle数据库采用SQL语言进行数据操作,并支持分布式数据库系统、事务处理、并发控制以及数据安全性。它的特点包括高级的数据恢复机制、高效的查询优化器、多租户架构(Oracle Container for ...

    oracle数据库日常维护手册

    包括初始化参数、数据库连接、磁盘空间、表空间使用、对象扩展、备份结果、性能指标和安全性检查,这些都是维持数据库健康运行的关键要素。 #### 五、检查数据库备份结果 定期检查备份日志和备份文件的时间戳,...

    Oracle9i的数据库管理, Oracle9i数据库对象的管理,Oracle9i数据库的安全性,Oracle9i数据库的完整性和并发控制等

    综上所述,Oracle9i数据库系统是一个功能强大的解决方案,它在数据库管理、对象管理、安全性、完整性和并发控制方面提供了丰富的特性,以满足大型企业的复杂需求。理解和掌握这些知识点对于任何Oracle数据库管理员来...

    数据库,oracle机制,Oracle数据库机制

    ### Oracle数据库机制详解 在深入探讨Oracle数据库机制之前,我们先简单回顾一下Oracle数据库的基本概念。...这些机制共同作用,确保了Oracle数据库的高度可靠性和安全性,满足了企业在数据管理方面的各种需求。

    oracle数据库实例代码

    视图并不实际存储数据,而是提供了一种简化复杂查询、隐藏数据细节、实现安全性控制的手段。创建视图的基本语法如下: ```sql CREATE VIEW view_name AS SELECT column1, column2, ... FROM table1, table2, ... ...

    ORACLE 数据库体系结构

    对于SQLDBA(SQL数据库管理员),理解Oracle数据库体系结构是至关重要的,他们需要管理和维护数据库的性能、安全性和稳定性,包括备份、恢复、性能调优、安全策略制定等工作。毕业设计或源码项目中,可能会涉及到...

    Oracle数据库基础教程[孙风栋等编著][习题解答

    "Oracle数据库基础教程-参考答案.doc"文件很可能是包含所有习题及其详细解答的文档,这将帮助读者检查自己的答案是否正确,同时提供了解决问题的思路和方法。而"readme.txt"文件通常是关于教程或软件的说明文档,...

    Oracle数据库.pdf

    Oracle数据库不仅支持跨平台运行,包括Linux、Windows和Unix等多种操作系统,还具备高度的性能、安全性和稳定性,能够满足大规模数据存储与高并发事务处理的需求。 #### 安装与配置 Oracle数据库的安装流程包括几...

    Oracle触发器的概念和类型

    Oracle 触发器的概念和类型 Oracle 触发器是一种特殊的存储...在实际应用中,数据库触发器可以发挥非常重要的作用,它可以帮助我们更好地管理数据,提高数据的安全性和完整性,并且可以自动化许多繁琐的数据处理任务。

    oracle数据库面试题目汇总.pdf

    * 统一的 DBMS 管理:关系数据库系统由统一的 DBMS 进行管理,从而为数据提供了如安全性保护,并发控制,完整性检查和数据库恢复服务。 触发器和存储过程的概念 * 触发器:是存储在数据库中的过程,当表被修改(增...

    Oracle数据库的数据保护机制及应用

    为确保多用户、多应用使用数据库系统的连续性、安全性和高效性,Oracle数据库管理系统提供了多种数据保护机制。 一、数据库的安全性 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏...

    oracle中记录用户登录信息的触发器的例子

    为了提高系统的安全性,我们需要实现一个功能:每当有用户登录数据库时,自动记录该用户的登录时间、用户名以及客户端IP地址,并将这些信息保存到一个专门的表中。 #### 三、创建表和触发器 首先,我们需要创建一...

Global site tag (gtag.js) - Google Analytics