Oracle-12c

如何在 Oracle 中使現有列自動遞增

  • November 29, 2017

我在我命名的 oracle 數據庫中創建了一個表,USERS並創建了一個USER_ID類型NUMBER為我設置為主鍵的列。

如何修改列USER_ID以使其自動遞增 1 ?

請問有什麼幫助嗎?

如果你堅持使用 IDENTITY,那是不可能的——你不能將非身份列修改為身份。但是,Oracle 允許您使用 sequence.nextval 作為預設值,因此您可能會獲得類似的功能:

CREATE SEQUENCE SEQ_USER START WITH 1000; --assuming max(USERS.user_id) =999
ALTER TABLE USERS MODIFY (USER_ID DEFAULT SEQ_USER.NEXTVAL); 

它將作為GENERATED BY DEFAULT AS IDENTITY.

這是不可能的。

更改表

身份子句

使用 identity_clause 修改標識列的屬性。您不能在不是標識列的列上指定此子句。

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