oracle:ora 04091
在一表orginfo上建立触发器,其中包括以下动作:
增删改此表的记录时,需要查询此表,甚至改写此表的其他记录。报告“ora-04091:表已经被修改,对于触发器/函数不可见”。
Cause: A trigger (or a user defined PL/SQL function that is referenced in this statement) attempted to look at (or modify) a table that was in the middle of being modified by the statement which fired it.
Action: Rewrite the trigger (or function) so it does not read that table
行级触发器不能触发读取或修改变化的表
解决的办法:新建了与orginfo结构完全相同的临时表tmp_orginfo,使得在orginfo上的触发器读写tmp_orginfo,再用tmp_orginfo上的触发器写回orginfo,解决ora-04091问题。
相关文档:
如何使exp的帮助以不同的字符集显示:
中文显示:set nls_lang=simplified chinese_china.zhs16gbk
英文显示:set nls_lang=American_america
EXP的所有参数(括号中为参数的默认值):
USERID 用户名/口令 如: USERID=duanl/duanl &nbs ......
原来用的SQL server,主要有两种分页方法:游标和拼字符串,游标法太慢,拼串法也有一些缺陷。
现在找到了一个Oracle的分页方法,也可以说是拼字符串,但是用起来就比SQL server的要方便,没有之前的问题:
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
W ......
ORACLE 数据库设计(定义约束 外键约束)
外键约束保证参照完整性。外键约束限定了一个列的取值范围。一个例子就是限定州名缩写在一个有限值集合中,这个值集合是另外一个控制结构——一张父表
下面我们创建一张参照表,它提供了完整的州缩写列表,然后使用参照完整性确保学生们有正确的州缩写。第一张表是州参 ......
之前我也有談論過.net中對不同數據庫的連接操作,這次單談談Oracle,其實你要連接到Oracle數據庫是要要求有個Oracle.DataAccess.dll。可以到Oracle網站下載。如果你安裝了Oracle了,也 ......
-- 查询外键约束(查某表的所有父表)
select c.constraint_name,cc.column_name,rcc.owner,rcc.table_name,rcc.column_name
from user_constraints c,user_cons_columns cc,user_cons_columns rcc
where c.owner=' ......