Oracle Database 创建序列:示例
目的
使用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。 (编辑:温州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |