傻春

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年5月9日

摘要: Because Oracle Database continues to evolve and can require maintenance, Oracle periodically produces new releases. Not all customers initially subscribe to a new release or require specific maintenance for their existing release. As a result, multiple releases of the product exist simultaneously.As 阅读全文
posted @ 2013-05-09 11:21 傻春 阅读(230) 评论(0) 推荐(0) 编辑

2013年4月5日

摘要: 如果我们创建外键约束时候使用了默认的方式,在删除被参照(主表)的数据时候,无法删除,报如下错误:SQL> delete from dept where deptno=1;delete from dept where deptno=1*第 1 行出现错误:ORA-02292: 违反完整约束条件 (HBC.FK_EMP_DEPT) - 已找到子记录所以在创建外键的时候,可以选择 on delete cascade和 on delete set null关键字来决定删除被参照数据时是否要将参照这个数据的那些数据(子表)一并删除,还是将那些参照这条数据的数据的对应值赋空。create table 阅读全文
posted @ 2013-04-05 22:53 傻春 阅读(1217) 评论(0) 推荐(0) 编辑

摘要: 据Tomas 的经验,导致死锁的头号原因是外键未加索引(第二号原因是表上的位图索引遭到并发更新)。在以下两种情况下,Oracle在修改父表后会对子表加一个全表锁:1. 如果更新了父表的主键(倘若遵循关系数据库的原则,即主键应当是不可变的,这种情况就很少见。)由于外键上没有索引,所以子表会被锁住。2. 如果删除了父表中的一行,整个子表也会被锁住(由于外键上没有索引,比如:如果EMP表有DEPT的一个外键,而且在EMP表的DEPTNO列上没有任何索引,那么更新DEPT时整个EMP表都会被锁定)。除了全表锁外,在以下情况下,未加索引的外键也可能带来问题:1. 如果有on delete cascade 阅读全文
posted @ 2013-04-05 21:54 傻春 阅读(535) 评论(0) 推荐(0) 编辑