首頁 > 資料庫 > mysql教程 > 如何讓已有的Oracle主鍵列自增?

如何讓已有的Oracle主鍵列自增?

Linda Hamilton
發布: 2024-12-27 00:28:17
原創
143 人瀏覽過

How Can I Make an Existing Oracle Primary Key Column Auto-Increment?

現有Oracle 表列的自動增量轉換

問題:

已指定為的現有欄位如何Oracle 資料庫中主鍵是否配置為自動遞增?該列已使用資料類型 VARCHAR2(9 BYTE) 建立。

解決方案:

Oracle 11g 和早期版本(12c 之前):序列與觸發器

  1. 建立序列: 建立一個序列,如t_seq,起始值為 150111111,增量步長為 1。
  2. 實作觸發器: 開發一個填充列的 BEFORE INSERT 觸發器當列值為時,使用序列中的下一個值NULL。

Oracle 12c 及更高版本:識別列

  1. 利用識別列: 在表中定義IDENTITY COMN語句,從150111111開始,遞增1.

範例:

CREATE TABLE t (
    ID NUMBER GENERATED ALWAYS AS IDENTITY
    START WITH 150111111 INCREMENT BY 1,
    text VARCHAR2(50)
);
登入後複製

身分列的好處:

  • 簡化自動-增量實現,無需序列或
  • 確保指定列的唯一連續值。

其他資訊:

  • Oracle 產生一個序列 ( ISEQ$$) 來支援識別列。
  • 使用下列方式監控自增資訊ALL_TAB_IDENTITY_COLS 視圖。

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

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