ORACLE触发器
触发器
q 触发器是当特定事件出现时自动执行的存储过程
q 特定事件可以是执行更新的DML语句和DDL语句
q 触发器不能被显式调用
q 触发器的功能:
q 自动生成数据
q 自定义复杂的安全权限
q 提供审计和日志记录
q 启用复杂的业务逻辑
创建触发器的语法:
CREATE [OR REPLACE] TRIGGER trigger_name
AFTER | BEFORE | INSTEAD OF
[INSERT] [[OR] UPDATE [OF column_list]]
[[OR] DELETE]
ON table_or_view_name
[REFERENCING {OLD [AS] old / NEW [AS] new}]
[FOR EACH ROW]
[WHEN (condition)]
pl/sql_block;
触发器由三部分组成:
q 触发器语句(事件)
q 定义激活触发器的 DML 事件和 DDL 事件
q 触发器限制
q 执行触发器的条件,该条件必须为真才能激活触发器
q 触发器操作(主体)
q 包含一些 SQL 语句和代码,它们在发出了触发器语句且触发限制的值为真时运行
创建触发器
CREATE OR REPLACE TRIGGER first_emp_trg
AFTER INSERT
ON emp
FOR EACH ROW
BEGIN
IF (:NEW.sal < 10000) THEN
DBMS_OUTPUT.PUT_LINE('less 10000');
ELSE
DBMS_OUTPUT.PUT_LINE('ge 10000');
END IF;
END;
SQL> insert into emp(empno,ename,sal) values(8102,'HuangPei',10000);
ge 10000
1 row inserted
SQL> insert into emp(empno,ename,sal) values(8103,'HuangPei',100);
less 10000
1 row inserted
查询触发器
SQL> select trigger_name,trigger_type,triggering_event,status from user_triggers;
TRIGGER_NAME TRIGGER_TYPE TRIGGERING_EVENT STATUS &n
相关文档:
网上有很多的资料,参考itput(http://space.itpub.net/471666/viewspace-215923)的。
OS : Redhat
DB : Oracle 10.2.0.4.0
1.修改jdk 下面的字体。
[oracle@a ~]$ cd $ORACLE_HOME/jdk/jre/lib/
[oracle@a ~]]$ mv font.properties font.properties_bak
[oracle@a ~]]$
[oracle@a ~]]$ cp font.properties.zh_CN.R ......
Oracle
函
数之substr
关键字: substr
substr函数有三个参数,允许你将目标字符串的一部份输出,
第一个参数为目标字符串,
第二个字符串是将要输出的子串的起点,
第三个参数是将要输出的子串的长度。
例子1:
substr('ABCDEFG', 2, 3) ......
Hey all,
Since there seems to be a fair bit of disinformation, and utter nonsense,
floating around since my talk at the Black Hat Federal security conference
the other day, I have decided to publish the following papers.
http://www.databasesecurity.com/HackingAurora.pdf
http://www.databasesec ......
ORACLE 数据库对象
——索引
q 索引是与表相关的一个可选结构
q 用以提高 SQL 语句执行的性能
q 减少磁盘I/O
q 使用 CREATE INDEX 语句创建索引
q &n ......