Oracle数据库 — 序列

序列:常用的数据库对象。

  1. 自动提供唯一的数值。
  2. 可共享对象,多个用户使用。
  3. 主要用于提供主键值。
  4. 将序列值装入内存可以提高访问效率。

一、创建序列:

例:创建序列 DEP_SEQ为表 DEPARTMENTS 提供主键。

(初始值为100,每次以10进行递增,最大值不超过9999,不进行循环。)

二、序列的使用:

将序列值装入内存可提高访问效率。

使用方法:

调用NEXTVAL将生成序列中的下一个序列号,调用时要指出序列名,即: 序列名.NEXTVAL。

调用CURRVAL将产生序列的当前值,无论调用多少次都不会产生序列的下一个值。方法同上,即:序列名. CURRVAL。

例:查看当前序列值和新增下一个序列值。

序列在下列情况下出现裂缝:

    • 数据回滚。
    • 系统异常。
    • 多个表同时使用同一序列。

 

三、修改序列:

修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存。

注意事项:

  1. 必须是序列的拥有者或对序列有 ALTER 权限。
  2. 只有将来的序列值会被改变,之前的不会改变。
  3. 改变序列的初始值只能通过删除序列之后重建序列的方法实现。

例:把DEP_SEQ序列以每次以20进行递增,最大值不超过999999,不进行循环。

四、查询序列:

查询数据字典视图 USER_SEQUENCES 获取序列定义信息。

查询数据字典视图 USER_SEQUENCES 可以查看序列的设置。

例:查看用户拥有的序列。

  • 删除序列:

可使用 DROP SEQUENCE 语句删除序列,删除之后,序列不能再次被引用。

例:删除dep_seq序列。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值