在Oracle 中新增自動增量
在Oracle 中,將自動增量功能表的主鍵,根據您的Oracle版本可以採用不同的方法使用。
對於 Oracle 11g 及之前版本
CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1; CREATE OR REPLACE TRIGGER t_trg BEFORE INSERT ON t FOR EACH ROW WHEN (new.id IS NULL) BEGIN SELECT t_seq.NEXTVAL INTO :new.id FROM dual; END;
對於 Oracle 12c 和稍後
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
插入資料
一旦自動遞增功能已配置,您可以將資料插入表中通常。
範例
假設有一個名為t 的表,其中包含名為ID 的列作為主鍵,並且您希望將其配置為從150111111 開始自動遞增。
在Oracle中使用序列方法11g:
INSERT INTO t(text) VALUES('auto-increment test 1');
在Oracle 12c 中使用Identity 欄位方法:
INSERT INTO t(text) VALUES('This table has an identity column');
注意: 🎜>
建立的序列自增主鍵名為ISEQ$$,可以使用下列指令進行驗證USER_SEQUENCES 視圖。以上是如何在Oracle中為現有主鍵列新增自動增量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!