下列情况使用NEXTVAL和CURRVAL:
(1)SELECT语句的SELECT列表中,但不包含子查询的SELECT语句;
(2)INSERT语句中的子查询SELECT列表中;
(3)INSERT语句的VALUES子句中;
(4)UPDATE语句的SET子句中。
下列情况不能使用NEXTVAL和CURRVAL:
(1)在视图的SELECT列表中;
(2)包含DISTINCT关键字的SELECT语句中;
(3)含有GROUP BY、HAVING、ORDER BY子句的SELECT语句中;
(4)SELECT、DELETE、UPDATE语句的子查询中;
(5)含有DEFAULT表达式的CREATE TABLE、ALTER TABLE语句中。
序列的修改和删除
序列可修改的选项是:增量值、最大值、最小值、循环选项或缓冲选项。
--将序列的最大值修改为999999:
alter sequence dept_deptno increment by 1 maxvalue 999999 nocache nocycle;
select * from user_sequences where sequence_name='DEPT_DEPTNO';
注意:(1)使用ALTER SEQUENCE语句也只能影响将来产生的序列值。
(2)START WITH选项不能使用ALTER SEQUENCE进行修改,序列必须先删除在重建,这样才能从不同的数值开始产生序列值。
删除序列:DROP SEQUENCE sequence;

被折叠的 条评论
为什么被折叠?



