SQL> remark 序列:Oracle中按照一定规则提供连续数字的对象
SQL> remark 创建一个序列:案例
SQL> create sequence stu_id
2 increment by 1 --步长
3 start with 1 --起始值
4 nomaxvalue --序列值的最大值
5 nocycle
6 cache 10;
Sequence created.
SQL> remark 创建序列需要注意的是:
SQL> remark 序列的起始值必须大于等于最小值,小于等于最大值
SQL> remark 序列的步长可以为负数
SQL> remark 序列如果启用了缓存取值,缓存中的最大值要小于等于序列的最大值
SQL> remark 序列启用了循环,如果步长为正,循环的起始为最小值,反之.......
SQL> remark cycle表示序列循环取值,nocycle 表示序列不循环取值;
SQL> remark ..........................................................
SQL> remark 修改序列
SQL> alter sequence stu_id
2 increment by 1
3 nomaxvalue
4 nocycle
5 cache 10;
Sequence altered.
SQL> remark 注:不可以修改序列的起始值.
SQL> remark ...................使用序列...............................
SQL> remark 序列有两个属性:nextval 获取一个新的值,currval 获取序列的当前值;
SQL> select stu_id.nextval from dual;
NEXTVAL
----------
1
SQL> select stu_id.currval from dual;
CURRVAL
----------
1
SQL> remark 通过序列向数据表中插入值
SQL> remark 创建一个表
SQL> create table t_user
2 (
3 id int primary key,
4 uname varchar(20)
5 );
Table created.
SQL> insert into t_user values(stu_id.nextval,'小白');
1 row created.
SQL> select * from t_user;
ID UNAME
---------- --------------------
2 小白
SQL> remark 如果希望不产生跳号的现象,那么创建序列的时候在后面加上nocache;
SQL> remark 删除序列
SQL> drop sequence stu_id;
Sequence dropped.
SQL> spool off;
[color=green][/color][size=x-small][/size]
Oracle 11g 数据库对象-序列
猜你喜欢
转载自sunzone.iteye.com/blog/1826395
今日推荐
周排行