Auto-Increment

Ansi SQL:自動編號的列

  • February 6, 2019

是否有自動編號列的ANSI標準。

目前,我們可以選擇SERIAL, AUTOINCREMENT,AUTO_INCREMENTIDENTITY()good oldNEXTVAL()等。

我在某處讀到有一個新標準IDENTITY,我知道 Oracle 最近已經實施了該標準。我知道甲骨文並不是標準的硬道理。

如果有一個標準,那麼它是一個很長的時間來。

是的,它絕對不是“新標準”。自 SQL:2003 以來,它一直在 SQL 標準中

定義是:

<identity column specification> ::=
 GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY
   [ <left paren> <common sequence generator options> <right paren> ]

帶有序列生成器選項的可選部分允許您定義基礎序列(=生成器)的特徵,您可以執行以下操作:

id integer GENERATED ALWAYS AS IDENTITY (start with 42 increment by 10 cycle)

PostgreSQL 10、Oracle 12.1、DB2、Apache Derby、HSQLDB、Firebird 和 NuoDB (至少)支持這種語法。

引用自:https://dba.stackexchange.com/questions/164862