oracle 笔记 V 之触发器 (TRIGGER)
触发器 trigger
分类:前触发,后触发
行触发器,语句触发器
行触发器与语句触发器的区别:
行触发器要求当一个 DML 语句操作影响数据库中的多行数据时,对于其中的每个数据行,只要它们符合触发约束条件,均激活一次触发器,FOR EACH ROW 选项说明触发器为行触发器;
语句触发器将整个语句操作 作为触发事件,当它们符合约束条件时,激活一次触发器
创建语法:
create or replace trigger trigger_name
before |after
insert |delete | update |{[of column[,column ...]]
on [schema.]table_name
for each row
[when condition]
trigger_body;
eg(仔细体会):
create or replace trigger hello_tri
before insert or delete or update on emp
for each row
begin
dbms_output.put_line('我是触发器!');
end;
相关文档:
1. 创建视图:
CREATE OR REPLACE VIEW SM_V_UNIT_AUTH AS
SELECT T2.UNIT_ID,
T2.SUPER_UNIT_ID,
T1.AUTH_ID,
T1.AUTH_NAME,
T1.A ......
初学linux+oracle,采用的本地虚拟机安装linux的方式,版本是Red Hat 5,唯一跟虚拟机安装其他系统不同的是:定制,选IDE硬盘,否则安装过程提示找不到硬盘失败。
本文重点是Oracle安装过程,版本 10.1.0。
3、安装相关的开发包(rpm包):
rpm -q binutils co ......
1. flashback table table_test to timestamp to_timestamp('20091103000000','yyyymmddhh24miss');
2.如果報錯ORA-08189: cannot flashback the table because row movement is not enabled
3.alter table table_test enable row movement;
4.OK ......
在windows下sqlplus完全正常,可是到linux下,sqlplus中文显示就出问题了,总是显示“??”,这个问题又怎么解决呢?
经过在网络上查资料,以及尝试,得到的解法如下:
其实很简单我们只要设置退出sqlplus,设置相应的环境变量NLS_LANG
export NLS_LANG="SIMPLI ......