Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membuat Auto-Tambahan Lajur Utama Utama Oracle Sedia Ada?

Bagaimanakah Saya Boleh Membuat Auto-Tambahan Lajur Utama Utama Oracle Sedia Ada?

Linda Hamilton
Lepaskan: 2024-12-27 00:28:17
asal
201 orang telah melayarinya

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

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

  1. Buat Jujukan: Wujudkan jujukan, seperti t_seq, dengan nilai permulaan 150111111 dan langkah tambahan 1.
  2. 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

  1. 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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan