加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.52wenzhou.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Oracle Database 创建序列:示例

发布时间:2022-10-21 14:32:36 所属栏目:MySql教程 来源:未知
导读: 示例
目的
使用CREATE SEQUENCE语句创建一个序列,该序列是一个数据库对象,多个用户可以从中生成唯一的整数。您可以使用序列自动生成主键值。
生成序列号时MySQL 序列使用,该序列将递增,

示例

目的

使用CREATE SEQUENCE语句创建一个序列,该序列是一个数据库对象,多个用户可以从中生成唯一的整数。您可以使用序列自动生成主键值。

生成序列号时MySQL 序列使用,该序列将递增,而与提交或回滚的事务无关。如果两个用户同时增加同一序列,则每个用户获取的序列号可能会有间隔,因为序列号是由另一个用户生成的。一个用户永远无法获取另一用户生成的序列号。一个用户生成序列值后,该用户可以继续访问该值,而不管该序列是否被另一用户递增。

序列号是独立于表生成的,因此同一序列可用于一个或多个表。单个序列号可能会被跳过,因为它们是在最终回滚的事务中生成和使用的。此外,单个用户可能不会意识到其他用户正在从相同的序列进行绘制。

创建序列后,可以使用CURRVAL伪列(其返回序列的当前值)或NEXTVAL伪列(其递增序列并返回新值)在SQL语句中访问其值。

先决条件

要在自己的模式中创建序列,您必须具有CREATE SEQUENCE系统特权。

要在另一个用户的架构中创建序列,您必须具有CREATE ANY SEQUENCE系统特权。

创建序列:示例下面的语句在示例模式oe中创建序列customer_seq。当将行添加到客户表时,此序列可用于提供客户ID号。

CREATE?SEQUENCE?customers_seq
START?WITH?????1000
INCREMENT?BY???1
NOCACHE
NOCYCLE;

对customers_seq.nextval的第一个引用返回1000。第二个返回1001。每个后续引用将返回比先前引用大的值1。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!