摘要: 对 DBA 而言,CREATE TABLE AS 可谓是家常便饭,顺手拈来。需不知该方式虽然简单,但疏忽也容易导致意想不到的问题。笔者前阵子就碰上了这样的事情。由于是对原表进行克隆,且数据存储在不同的表空间,因此毫不犹豫地使用了CREATE TABLE AS,结果在运行package时,error...--1、非空约束遗失 -->使用create table as 来创建对象 scott@CNMMBO> create table tb_dept as select * from dept where 1=0; Table created. scott@CNMMBO> desc 阅读全文
posted @ 2012-03-16 17:32 生活不是用来挥霍的 阅读(504) 评论(0) 推荐(0)
摘要: 游标在数据库领域被广泛使用,尤其是对于需要将SQL语句返回的数据集进行逐行处理的时候。这为数据处理提供了极大的便利性,然游标的不当使用从某种程度上而言会降低数据库的性能。下面的是一个来自生产环境的实际例子,由于使用了参数游标,所以引发了多次遍历。一、源代码-->下面的procedure用于为trade生成一个新的contract_num,并将其更新到对应的记录PROCEDURE assign_contract_num( businessdate_in trade_client_tbl.trade_date%TYPE, err_num OUT NUMBER, err_msg OUT VAR 阅读全文
posted @ 2012-03-16 15:28 生活不是用来挥霍的 阅读(376) 评论(0) 推荐(0)
摘要: 不完全归纳设置isolation level为transaction level的两点影响:1. 在设置了isolation level为transaction level的session执行两次同一个query的中间,即使有在其他session更新并提交了该query相关表的数据,这两次query所查出的结果仍然相同,直到当前session发出commit或rollback完成一个transaction后,在其他session提交了的修改才会在当前session中反映出来。2. 如果session A更新某表的一行且未提交,设置为transaction level的session B更新同一 阅读全文
posted @ 2012-03-16 00:12 生活不是用来挥霍的 阅读(295) 评论(0) 推荐(0)