Oracle-12c
如何在 Oracle 中使現有列自動遞增
我在我命名的 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 修改標識列的屬性。您不能在不是標識列的列上指定此子句。