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还是比较常用的,于是我研究了一下Oracle用户表空间,在这里拿出来和大家分享一下,希望对大家有用。在我们为微软的NTFS分区格式中的用户磁盘配额鼓掌的时候,Oracle数据库中也已经实现了用户磁盘配额的技术。可以借助表空间,来对用户进行磁盘配额管理。利用表空间的用户磁盘配额,可以实现很多功能。
如可以利用用 ......
在项目实现时,大家一般有表的设计。与一般数据库不同,Oracle表空间的说法。表空间意为存放表的空间。在建立表的时候为了与原始Oracle表空间有区别,我们可以创建新的表空间存放表。一般的建议是建立两个表空间一个存放数据,一个存放索引。
创建Oracle表空间的方法如下:
1.可以通过Oracle自带的图形用户界面实现。具体 ......
系统要求:
内存:推荐1G
Swap分区:设为内存的2倍
/tmp磁盘空间:400MB以上三
磁盘空间:软件3.5G 数据1.2G
所需软件:
SuSE Linux10 for x86
Oracle database 10gR2 for Linux32
Orarun-1.8-109.15.i586.rpm软件包,可以从http://Ftp.novell.com/partners/Oracle/sels-9下载
&n ......
DECODE函数的作用:它可以将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。
区别于SQL的其它函数,DECODE函数还能识别和操作空值。
语法如下:
DECODE ......