oracle 触发器开发
触发器开发的目的:确保数据库满足特定的商业规则和企业逻辑,可以使用触发器,约束,子程序。因为
约束最简单且性能好,所选约束,如果约束不能满足,就用触发器,若触发器都不能满足选择子程序。
一、触发器功能:
1,控制数据安全,在服务器级别控制数据安全是通过授权和回收对象权限来完成的,比如ams用户对scott/tiger 用户对表DML 操作、
grant select ,delete,update,insert on emp to ams;
但是为了实现更复杂的安全模式,比如限制对某个表要修改的数据,就需要用到触发器,比如,只有在9:00到17:00才能改变数据库EMP表对数据库表操作
create or replace trigger triger_stat_before
before insert or update or delete on emp
declare
-- local variables here
begin
if (to_char(sysdate,'HH24') not between '9' and '17') then
RAISE_APPLICATION_ERROR(-20101,'非工作日时间');
end if;
end triger_before;
2,实现数据审计,监视非法和可疑的数据活动,oracle 本身提供了审计功能。如对emp DML 操作以后,
把SQL操作的信息(用户,时间等)写入字典。但是只能审计sql 操作,不能记载数据变化。如果要记载数据
变化必须使用DML触发器。比如工资变化写入数据字典表。
--创建字典表
drop table EMP_CHANGE;
create table EMP_CHANGE(
CNAME VARCHAR2(200),
OLDSAL NUMBER,
NEWSAL NUMBER,
CHANGE_TIME TIMESTAMP(6)
)
--创建触发器
create or replace trigger triger_row_after
after update of sal on emp
for each row
 
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
在项目实现时,大家一般有表的设计。与一般数据库不同,Oracle表空间的说法。表空间意为存放表的空间。在建立表的时候为了与原始Oracle表空间有区别,我们可以创建新的表空间存放表。一般的建议是建立两个表空间一个存放数据,一个存放索引。
创建Oracle表空间的方法如下:
1.可以通过Oracle自带的图形用户界面实现。具体 ......
学习Oracle时,你可能会遇到Oracle用户表空间问题,这里将介绍Oracle用户表空间问题的解决方法,在这里拿出来和大家分享一下。其实就是在已有的数据库实例上创建一个新的帐号,访问一些新的表。
操作步骤如下:
1、登录linux,以Oracle用户登录(如果是root用户登录的,登录后用su-oracle命令切换成oracle用户)
2、以sy ......
数据库结构和空间管理(数据文件、日志文件、表空间、段、模式和模式对象)
一个ORACLE数据库是数据的集合,被处理成一个单位。一个ORACLE数据库有一个物理结构和一个逻辑结构。
ORACLE逻辑数据库结构是用户所涉及的数据库结构。一个ORACLE数据库的逻辑结构由下列因素决定:
&nb ......