会员登录
序列sequence的创建,使用和删除
来源:互联网 作者:未知 时间:2009-06-11 20:06:52 点击:108715 评论:0
本文地址:http://pslib.com/index.php?mod=skill&action=detail&id=43885 [复制]

创建实例:

CONN scott/tiger

CREATE SEQUENCE s_test
       START WITH 10 INCREMENT BY 2
       MINVALUE 6 MAXVALUE 20
       CYCLE  --NOCYCLE  --数字到达最大值后不循环
       -- NOCACHE   -- 缓存不存sequence
       CACHE 5;  -- 缓存存储5个sequence,oracle默认存20个

此代码创建了s_test序列, 初始值为10,增长速度为2(假如为负,则指由大到小),最小值为6,最大值为20,数字循环增长

sequence的使用:

SELECT s_test.nextval FROM dual; --当前值的下一个值,第一次执行为开始值10

SELECT s_test.currval FROM dual; -- 当前值

注:每一个登录用户都必须先执行s_test.nextval后,才能执行s_test.currval,

否则会报ORA-08002: sequence S_TEST.CURRVAL is not yet defined in this session错误

SELECT  * FROM user_sequences ; -- 查询当前用户所有的sequences

SELECT * FROM all_sequences;  --查询所有用户的sequences

DROP SEQUENCE s_test; -- 删除sequences

最新评论
共有 0 位网友发表了评论