【发布时间】:2011-11-21 08:05:09
【问题描述】:
我们已经在数据库中有一个序列,现在我必须修改该序列,以便从我将从数据库中获取的特定值开始。我写了以下代码
DECLARE
i_Seq INTEGER;
BEGIN
SELECT MAX (col_id) + 1 INTO i_Seq from Table;
EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQHDR MINVALUE '|i_Seq|' MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH '|i_Seq|' CACHE 20 NOORDER NOCYCLE'
END;
/
我有以下问题。
- 我必须先删除旧序列还是 oracle 会自己完成?
- 序列创建中的start with 子句。我用对了吗?或者我可以用任何数字替换它?
【问题讨论】:
-
删除序列将导致依赖对象无效,请参阅:stackoverflow.com/questions/7486917/… 以获取在不删除的情况下更改序列的解决方案。
标签: oracle plsql oracle11g sequence