下一个值应该是什么?

时间:2015-04-08 09:51:46

标签: sql oracle oracle11g oracle10g oracle-sqldeveloper

我有一个Number数据类型和Nullable的列。现在没有可用的记录。并使用next_val生成列值。

列的第一个值是否能够生成数字,或者我必须手动分配第一个数字。

如果不清楚,请告诉我。

1 个答案:

答案 0 :(得分:2)

创建序列,并使用 sequence.nextval 来使用序列号。

例如,

SQL> CREATE SEQUENCE s START WITH 1 INCREMENT BY 1;

Sequence created.

SQL>
SQL> CREATE TABLE t(A NUMBER);

Table created.

SQL>
SQL> INSERT INTO t SELECT s.nextval FROM dual;

1 row created.

SQL>
SQL> SELECT * FROM t;

         A
----------
         1

SQL>

我写了一篇关于触发序列方法的小文章来填充先前12c版本中的序列。见http://lalitkumarb.wordpress.com/2015/01/20/auto-increment-primary-key-in-pre-12c-releases-identity-functionality/

如果您使用的是12c,则可以使用 IDENTITY列。阅读http://lalitkumarb.wordpress.com/2015/01/20/identity-column-autoincrement-functionality-in-oracle-12c/