Transformasi Auto-Tambahan untuk Lajur Jadual Oracle Sedia Ada
Isu:
Bagaimanakah lajur sedia ada, sudah ditetapkan sebagai kunci utama, dikonfigurasikan untuk menambah automatik dalam pangkalan data Oracle? Lajur telah dibuat dengan jenis data VARCHAR2(9 BYTE).
Penyelesaian:
Oracle 11g dan Sebelumnya (Pra-12c): Urutan dan Pencetus
-
Buat Jujukan: Wujudkan jujukan, seperti t_seq, dengan nilai permulaan 150111111 dan langkah tambahan 1.
-
Laksanakan Pencetus: Bangunkan pencetus SEBELUM INSERT yang mengisi lajur dengan nilai seterusnya daripada jujukan apabila nilai lajur adalah NULL.
Oracle 12c dan Kemudian: Lajur Identiti
-
Gunakan Lajur Identiti: Tentukan LAjur IDENTITI dalam jadual pernyataan penciptaan, bermula dengan 150111111 dan bertambah dengan 1.
Contoh:
CREATE TABLE t (
ID NUMBER GENERATED ALWAYS AS IDENTITY
START WITH 150111111 INCREMENT BY 1,
text VARCHAR2(50)
);
Salin selepas log masuk
Faedah Lajur Identiti:
- Memudahkan auto -perlaksanaan increment tanpa memerlukan urutan atau pencetus.
- Memastikan nilai yang unik dan berjujukan untuk lajur yang ditentukan.
Maklumat Tambahan:
- Oracle menjana jujukan ( ISEQ$$) untuk menyokong lajur identiti.
- Pantau maklumat kenaikan automatik menggunakan paparan ALL_TAB_IDENTITY_COLS.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Auto-Tambahan Lajur Utama Utama Oracle Sedia Ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!