SQL序列相关

序列:用来生成连续的整数数据的对象

说明:
1、它可以用来生成数据
2、生成的数据是 数字型 的值,并且都是整数

----语法结构:
--简易的创建序列的语法结构:   ----用的比较多
CREATE SEQUENCE 序列名;

--开发规范: 序列名以 SEQ_ 开头

--比如:
    CREATE SEQUENCE SEQ_TEST1;
  
  
--完整的创建序列的语法结构:
CREATE SEQUENCE 序列名
[START WITH NUM]                ---一般是从 1 开始
[INCREMENT BY increment]        ---步长。一般 递增 1
[MAXVALUE NUM / NOMAXVALUE]     ---最大值,一般是 28个9
[MINVALUE NUM / NOMINVALUE]     ---最小值,一般是 1 (START WITH 后面的那个数)
[CYCLE / NOCYCLE]               ---一般是 不循环
[CACHE NUM / NOCACHE]           ---缓存,一般是20


----序列的用处:
1、用来生成整数值(可以用来作为某个列中的数据,也可以用来作为检查字段中的列)


---序列创建完之后怎么用:
1、序列名.NEXTVAL  ----用的较多,每次生成一个新的往后增加 步长 位个数 (就可以用来生成一些数据)
2、序列名.CURRVAL  ----查看序列当前走到哪一步(当前的数字是多少)

--比如:
SELECT SEQ_TEST1.NEXTVAL FROM DUAL;  ---每次生成一个往后加1的数
SELECT SEQ_TEST1.CURRVAL FROM DUAL;  ---查看当前序列走到了哪一个数


---需要注意的是:
1、序列号是不可更改,只能删除重建
2、序列创建好之后,无论是谁,无论是在哪儿用到了这个序列的 NEXTVAL,那么后续就会在这个基础上继续往前走
   类似于:在教室拿课本(大家都是拿同一叠书)   
3、序列名.NEXTVAL  会根据表里的行数,每一行都会往下加1
--比如:
    SELECT E.*,SEQ_TEST1.NEXTVAL FROM EMP E;

4、序列创建之后,第一次是只能使用 序列名.NEXTVAL,不能查 序列名.CURRVAL,因为 序列号 还没生成


----删除序列
DROP SEQUENCE 序列名;


-----总结一下:
使用序列的步骤:
1、创建一个序列 / 或者使用原本存在的序列
2、使用 序列名.NEXTVAL 来构造不同的数据
           序列名.CURRVAL 来构建相同的值的数据,或者查看当前序列走到了哪个数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值