首頁 > 資料庫 > mysql教程 > 如何在Oracle中為現有主鍵列新增自動增量?

如何在Oracle中為現有主鍵列新增自動增量?

Linda Hamilton
發布: 2025-01-03 05:35:39
原創
999 人瀏覽過

How to Add Auto-Increment to an Existing Primary Key Column in Oracle?

在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 和稍後

  • 使用 Identity 列功能。
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 視圖。
  • ALL_TAB_IDENTITY_COLS 視圖提供資料庫中識別列的資訊。

以上是如何在Oracle中為現有主鍵列新增自動增量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板