Rumah > pangkalan data > Oracle > Bagaimana untuk menambah lajur pada jadual oracle

Bagaimana untuk menambah lajur pada jadual oracle

青灯夜游
Lepaskan: 2022-03-02 18:42:53
asal
36499 orang telah melayarinya

Dalam Oracle, anda boleh menggunakan pernyataan "ALTER TABLE ADD" untuk menambah satu atau lebih lajur pada jadual, sintaksnya ialah "ALTER TABLE table_name ADD column_name data_type constraint;".

Bagaimana untuk menambah lajur pada jadual oracle

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.

Dalam Oracle, anda boleh menggunakan pernyataan "ALTER TABLE ADD" untuk menambah satu atau lebih lajur pada jadual.

Untuk menambah lajur baharu pada jadual, gunakan pernyataan ALTER TABLE seperti berikut:

ALTER TABLE table_name 
ADD column_name data_type constraint;
Salin selepas log masuk

Dalam pernyataan di atas,

  • Mula-mula, selepas klausa ALTER TABLE, nyatakan nama jadual yang anda ingin tambahkan lajur baharu.
  • Kedua, nyatakan nama lajur, jenis data dan kekangannya.

Sila ambil perhatian bahawa anda tidak boleh menambah lajur yang sudah wujud dalam jadual apabila berbuat demikian akan mengakibatkan ralat. Selain itu, pernyataan lajur ALTER TABLE ADD menambah lajur baharu di hujung jadual. Oracle tidak menyediakan cara langsung untuk membolehkan anda menentukan lokasi lajur baharu seperti sistem pangkalan data lain (seperti MySQL).

Jika anda ingin menambah berbilang lajur, gunakan sintaks berikut:

ALTER TABLE table_name 
ADD (
    column_name_1 data_type constraint,
    column_name_2 data_type constraint,
    ...
);
Salin selepas log masuk

Dalam sintaks ini, pisahkan dua lajur dengan koma.

Contoh lajur Oracle ALTER TABLE ADD

Mari kita buat jadual bernama members. Rujuk kepada pernyataan SQL berikut -

-- 12c语法
CREATE TABLE members(
    member_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(50),
    last_name VARCHAR2(50),
    PRIMARY KEY(member_id)
);
Salin selepas log masuk

Pernyataan berikut menambah lajur baharu bernama birth_date pada jadual members:

ALTER TABLE members 
ADD birth_date DATE NOT NULL;
Salin selepas log masuk

Dalam contoh ini, birth_date Lajur ialah lajur DATE, ia tidak menerima null.

Andaikan anda ingin merakam masa penciptaan dan kemas kini baris. Kemudian anda boleh menambah dua lagi lajur created_at dan updated_at, seperti berikut: Jenis data lajur

ALTER TABLE
    members ADD(
        created_at TIMESTAMP WITH TIME ZONE NOT NULL,
        updated_at TIMESTAMP WITH TIME ZONE NOT NULL
    );
Salin selepas log masuk

created_at dan updated_at ialah TIMESTAMP WITH TIME ZONE. Lajur ini juga tidak menerima null.

Untuk menyemak sama ada lajur wujud dalam jadual, anda boleh menanyakan data daripada paparan user_tab_cols. Sebagai contoh, pernyataan berikut akan menyemak sama ada jadual members mempunyai lajur first_name.

SELECT
    COUNT(*)
FROM
    user_tab_cols
WHERE
    column_name = 'FIRST_NAME'
    AND table_name = 'MEMBERS';
Salin selepas log masuk

Pertanyaan ini berguna apabila anda ingin menyemak sama ada lajur wujud dalam lajur sebelum menambahkannya pada jadual.
Sebagai contoh, blok PL/SQL berikut menyemak sama ada jadual members mempunyai lajur effective_date sebelum menambahkannya.

SET SERVEROUTPUT ON SIZE 1000000
DECLARE
  v_col_exists NUMBER 
BEGIN
  SELECT count(*) INTO v_col_exists
    FROM user_tab_cols
    WHERE column_name = 'EFFECTIVE_DATE'
      AND table_name = 'MEMBERS';

   IF (v_col_exists = 0) THEN
      EXECUTE IMMEDIATE 'ALTER TABLE members ADD effective_date DATE';
   ELSE
    DBMS_OUTPUT.PUT_LINE('The column effective_date already exists');
  END IF;
END;
/
Salin selepas log masuk

Jika blok ini dilaksanakan buat kali pertama, maka lajur effective_date akan ditambahkan pada penghujung jadual members. Walau bagaimanapun, sebaik sahaja anda melaksanakannya dari kali kedua, anda akan melihat mesej berikut:

The column effective_date already exists
Salin selepas log masuk

Ini adalah seperti yang dijangkakan daripada program yang ditulis di atas.

Tutorial yang disyorkan: "Tutorial Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menambah lajur pada jadual oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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