Oracle 使用 SEQUENCE 概念来创建数值主键值,当我们将数据行添加到表格中时。在 MySQL 和 SQL Server 中,数值主键的生成与个别表格相关,但在 Oracle 中,SEQUENCE 构造是单独创建的,并不与特定的表格相关。 在 Oracle 中创建 SEQUENCE 的语法如下
{Initial_Value}是序列的起始值,而{interval}是连续序列号之间的间隔。 [START WITH] 和 [INCREMENT BY] 都是可选字段。如果未指定,系统会将 {Initial_Value} 和 {interval} 都设为1。
举例来说,假设我们有一个具有以下结构的表格:
Table USER_TABLE
并且我们想使用以下序列生成 userid:
我们指定我们想要在 INSERT INTO 语句中使用序列和 NEXTVAL 函数的顺序如下:
现在,该表格会有以下两笔资料:
Table USER_TABLE
值得注意的是,序列与表格是没有直接关系的。换句话说,一个序列可以用于为多个表格产生主键值,即使它被应用于不同的表格,该序列仍然继续。例如,假设我们有第二个表格,名为NEW_USERS,其结构与USER_TABLE 相同,我们在执行上述两个SQL 命令后发出以下SQL命令:
NEW_USER 表格将拥有以下这一笔资料:
Table NEW_USER
Userid 为15,因为这是10之后的下一个值。
SQL Concatenate 函数 >>
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/9174.html