摘要: Oracle中一般将自增sequence重置为初始1时,都是删除再重建,这种方式有很多弊端,依赖它的函数和存储过程将失效,需要重新编译。不过还有种巧妙的方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。假设需要修改的序列名:seq_name1、select seq_name.nextval from dual; //假设得到结果56562、 alter sequence seq_name increment by -5655; //注意是-(n-1)3、select seq_name.nextval from dual; 阅读全文
posted @ 2013-04-17 17:07 小Q的DD 阅读(383) 评论(0) 推荐(1) 编辑
摘要: PRAGMA AUTONOMOUS_TRANSACTION在你的一个事务(外层事务)中可以定义一个或几个自治事务。自治事务可以独立commit,不对外层事务产生影响,同样外层事务的 rollback 也对自治事务没有影响。通常可以考虑将自治事务定义成一个过程,在外层的事务中调用。即当前的存储过程作为已有事务的子事务运行,子事务的commit,rollback操作不影响父事务的状态应用于(1)匿名块(2)触发器(3)存储过程例子:PROCEDURE addrowautonomous(pid IN tlog.id%TYPE, plda... 阅读全文
posted @ 2013-04-17 16:55 小Q的DD 阅读(436) 评论(0) 推荐(0) 编辑