Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menambah Fungsi Penambahan Auto pada Lajur Sedia Ada dalam Pangkalan Data Oracle?

Bagaimanakah Saya Boleh Menambah Fungsi Penambahan Auto pada Lajur Sedia Ada dalam Pangkalan Data Oracle?

DDD
Lepaskan: 2024-12-26 09:46:10
asal
607 orang telah melayarinya

How Can I Add Auto-Incrementing Functionality to Existing Columns in Oracle Databases?

Penambahan Automatik Lajur Sedia Ada dalam Pangkalan Data Oracle

Menambah fungsi autokenaikan pada lajur sedia ada dalam Oracle boleh dicapai melalui pendekatan yang berbeza bergantung pada versi Oracle.

Oracle 12c dan Di atas: Menggunakan Lajur Identiti

Oracle 12c memperkenalkan ciri lajur IDENTITI yang memudahkan penambahan automatik:

CREATE TABLE t (
ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1,
text VARCHAR2(50)
);
Salin selepas log masuk

Oracle 11g dan Sebelum: Urutan dan Pencetus

Untuk versi Oracle sebelum ini 12c, anda boleh menggunakan gabungan jujukan dan pencetus:

  1. Buat Jujukan:
CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1;
Salin selepas log masuk
  1. Ubah Jadual dan Tambah Utama Kunci:
ALTER TABLE t ADD CONSTRAINT id_pk PRIMARY KEY (ID);
Salin selepas log masuk
  1. Buat Pencetus:
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;
Salin selepas log masuk
Pencetus ini mengisi lajur ID secara automatik dengan nilai daripada turutan.

Contoh Penggunaan:

Untuk kedua-dua kaedah, sisipan akan mengisi lajur ID dengan nilai penambahan automatik bermula dari 150111111.

INSERT INTO t(text) VALUES('auto-increment test');
Salin selepas log masuk
Menyoal jadual mengesahkan ID meningkat secara automatik:

SELECT * FROM t;

ID                        TEXT
------------------------- ----------------------------------------
150111111 This table has an auto-incrementing column
Salin selepas log masuk

Nota: Oracle secara tersirat mencipta urutan bernama ISEQ$$ apabila menggunakan lajur identiti.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Fungsi Penambahan Auto pada Lajur Sedia Ada dalam Pangkalan Data Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan