一个简单重建SEQUENCE的存储过程
CREATE OR REPLACE PROCEDURE EAM.PROC_RESET_SEQUENCES IS
TSQL VARCHAR(200);
CURSOR CUR_SEQ IS SELECT SEQUENCE_NAME FROM USER_SEQUENCES;
CUR_SEQ_ITEM CUR_SEQ%ROWTYPE;
BEGIN
OPEN CUR_SEQ;
LOOP
FETCH CUR_SEQ INTO CUR_SEQ_ITEM;
EXIT WHEN CUR_SEQ%NOTFOUND;
TSQL := 'DROP SEQUENCE ' || CUR_SEQ_ITEM.SEQUENCE_NAME;
EXECUTE IMMEDIATE TSQL;
TSQL := 'CREATE SEQUENCE ' || CUR_SEQ_ITEM.SEQUENCE_NAME || ' INCREMENT BY 1 MAXVALUE 99999999999999999999';
EXECUTE IMMEDIATE TSQL;
END LOOP;
CLOSE CUR_SEQ;
END PROC_RESET_SEQUENCES;
/
[解决办法]
这是何必呢,有什么业务要用到这样的存储过程吗?
[解决办法]
lz想干嘛,业务里面重建sequence不是就乱套了么
[解决办法]
测试库上用的吧
既然名称放到CUR_SEQ_ITEM
那么DROP 和create语句里面的CUR_SEQ_ITEM.SEQUENCE_NAME就应该用CUR_SEQ_ITEM代替了。
[解决办法]
http://topic.csdn.net/u/20111030/10/14d9cee1-6cca-41cc-85c8-867f891a00c8.html
[解决办法]
做项目的时候,做库迁移的时候用,EXPDP、impdp
[解决办法]
最好不要重建序列,否则所有用到序列的存储过程都会失效
最好通过修改序列负增长,达到序列重置的目的
一个简单重建SEQUENCE的存储过程,该如何解决
一个简单重建SEQUENCE的存储过程CREATE OR REPLACE PROCEDURE EAM.PROC_RESET_SEQUENCES ISTSQL VARCHAR(2
