oracle 触发器
Create [or replace] trigger [模式.]触发器名
Before| after |instead of insert|delete|(update of 列名)
{insert|delete|(update of 列名) }
On 表名|视图|模式名|数据库名
[for each row]
When 条件
PL/SQL块
说明:
For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次(如一次update 会更新多条数据,但是只执行一次);
When条件的出现说明了,在DML操作的时候也许一定会触发触发器,但是触发器不一定会做实际的工作,比如when 后的条件不为真的时候,触发器只是简单地跳过了PL/SQL块;
其中只有update 可以指定列名.
instead of 是在视图上定义的触发器,且只能在行级触发器里面使用.因为视图对表的增删改只能基于单表,使用较少.
On 表名|视图|模式名|数据库名 按照对象不同,又可分为模式触发器(模式名),数据库触发器(database)
相关文档:
《Oracle大型数据库系统在AIX/UNIX上的实战详解》集中讨论的继续。 做了一周关于Oracle在32位windows上实施的培训,恰好期间有几位Oracle用户邮件询问关于Windows系统调整问题。正好吧,把准备的一些内容共享出来。 如果Oracle使用大于1.7的内存,需要一些特写的设置。参见下面来自metalink的论点: Large page support ......
在/etc/rc.d/init.d/ 创建oracle10g文件
touch oracle10g
chmod a+x oracle10g
[root@test~]# vi /etc/rc.d/init.d/oracle10g
#!/bin/bash
#chkconfig:345 51 49
#description:starts the oracle database deamons
#
ORACLE_HOME=/oracle/product/10.2.0/db_1
ORACLE_OWNER=oracle
case "$1" in
start)
echo ......
在登录em的时候。
查看一下 emctl status dbconsole
找到url地址
在启动和关闭数据库的时候出现
oracle 10g remoteoperationexception error wrong password for user
可以在
组策略 -- >本地策略 -->用户权利指. -- >作为批处理作业登录中加入这个用户
即可. ......
一。查看oracle数据库是否为归档模式:
1.select name,log_mode from v$database;
NAME LOG_MODE
------------------ ------------------------
QUERY NOARCHIVELO ......
.Frm644 { display:none; }
1。已经检验的语句和已在共享池中的语句之间要完全一样
2。变量名称尽量一致
3。合理使用外联接
4。少
用多层嵌套
5。多用并发
语句的优化步骤一般有:
1。调整sga区,使得sga区的是用最优。
2。sql语句本身的优化,工具有explain,sql trace ......