Kita sering perlu menjatuhkan kolom di tabel. Ada dua cara untuk menghapus kolom di Oracle
(a) mengubah kolom drop tabel di Oracle
(b) mengubah set tabel kolom yang tidak digunakan di Oracle
DROP COLUMN menggunakan DROP COLUMN
Di sini, kami melepaskan kolom dari tabel menggunakan perintah di bawah ini .
ALTER TABLE table_name DROP COLUMN col_name;
Pernyataan ini mengambil kunci eksklusif pada tabel dan jika tabelnya besar, akan membutuhkan waktu untuk mengeksekusi kueri
Contoh
SQL> CREATE TABLE Books_master ( Book_Id NUMBER(6,0), Title VARCHAR2(50), Author VARCHAR2(50), ISBN VARCHAR2(25), BCost NUMBER(6,0), Publish_Year NUMBER(4,0), CONSTRAINT Books_master_PK PRIMARY KEY (Book_Id), CONSTRAINT Books_master_UK1 UNIQUE (Title, Author), CONSTRAINT Books_master_UK2 UNIQUE (ISBN) ) ; Table created. SQL> INSERT INTO Books_master (Book_Id, Title, Author, ISBN, BCost, Publish_Year) VALUES (10, 'Complete/Convenient', 'Ketan Bhagat', 'ISBN 978-93-80349-92-3', 195, 2013); SQL>INSERT INTO Books_master (Book_Id, Title, Author, ISBN, BCost, Publish_Year) VALUES (20, 'Deception Point', 'Dan Brown', 'ISBN 0-671-02738-7', 563,2001); SQL> INSERT INTO Books_master (Book_Id, Title, Author, ISBN, BCost, Publish_Year) VALUES (30, 'Angels-Demons', 'Dan Brown', 'ISBN 0-671-02736-0',563, 2000); SQL>INSERT INTO Books_master (Book_Id, Title, Author, ISBN, BCost, Publish_Year) VALUES (40, 'Harry Potter', 'J.K. Rowling', 'ISBN 0-7475-5100-6', 102,2003); SQL> commit; Commit complete. SQL> column TITLE format a10 SQL> column AUTHOR format a10 SQL> column ISBN format a15
SQL > Desc BOOKS_MASTER
Mari kita jatuhkan kolom dari tabel ini
SQL> alter table books_master drop column PUBLISH_YEAR; Table altered. SQL > Desc BOOKS_MASTER
SQL> Select * from Books_master;
DROP COLUMN menggunakan SET UNUSED
- jika Anda khawatir tentang sumber daya yang digunakan untuk menghapus kolom, Anda dapat menggunakan pernyataan ALTER TABLE…SET UNUSED.
- Pernyataan ini menandai satu atau beberapa kolom sebagai tidak digunakan tetapi tidak benar-benar menghapus data kolom target atau memulihkan ruang disk yang ditempati oleh kolom ini.
- Kolom yang ditandai sebagai tidak digunakan tidak ditampilkan dalam kueri atau tampilan kamus data, dan namanya dihapus sehingga kolom baru dapat menggunakan kembali nama tersebut. Semua batasan, indeks, dan statistik yang ditentukan pada kolom juga dihapus.
Sintaks
ALTER TABLE
SET KOLOM YANG TIDAK DIGUNAKAN
Kita dapat membuang kolom yang tidak digunakan nanti ketika sumber daya lebih rendah menggunakan perintah
ALTER TABLE
Lepaskan KOLOM YANG TIDAK DIGUNAKAN;
Jika Anda memiliki tabel besar, Anda dapat mengurangi jumlah undo log yang terakumulasi menggunakan opsi CHECKPOINT, yang memaksa pos pemeriksaan setelah jumlah baris yang ditentukan telah diproses. Pos pemeriksaan mengurangi jumlah log undo yang terakumulasi selama operasi kolom drop untuk menghindari potensi kehabisan ruang undo.
ALTER TABLE table_name DROP COLUMNS CHECKPOINT 500;
- Jika Anda telah menggunakan sintaks pos pemeriksaan dengan perintah drop Anda, maka Anda dapat mematikan sesi (atau mematikan database) di tengah-tengah drop.
- Tabel tidak akan tersedia untuk DML atau kueri
- Anda dapat menyelesaikan perintah “jatuhkan kolom” menggunakan opsi “lanjutkan” (dengan pos pemeriksaan opsional).
alter table drop columns continue checkpoint; alter table drop columns continue checkpoint 5000;
Contoh
mari kita lanjutkan dengan tabel yang telah dibuat sebelumnya
SQL> alter table books_master set unused column ISBN; Table altered. SQL> desc books_master
SQL> Select * from Books_master;
Kami dapat memeriksa jumlah kolom yang tidak digunakan dengan menanyakan tampilan di bawah ini USER_UNUSED_COL_TABS, ALL_UNUSED_COL_TABS, atau DBA_UNUSED_COL_TABS
SQL> select * from DBA_UNUSED_COL_TABS where TABLE_NAME='BOOKS_MASTER';
Sekarang Anda dapat menghapus kolom selama periode aktivitas rendah
SQL> alter table Books_master drop unused columns; Table altered. SQL> select * from DBA_UNUSED_COL_TABS where TABLE_NAME='BOOKS_MASTER'; no rows selected
Cara menghapus Beberapa kolom
Kita dapat menentukan beberapa kolom selama perintah drop
SQL> alter table books_master drop (AUTHOR,TITLE); Table altered.
Semoga Anda menyukai posting di kolom drop table alter di Oracle. Harap berikan umpan balik
Juga Dibaca
Kunci utama Oracle
mengubah pemindahan tabel
mengubah kolom ganti nama tabel di Oracle
https://docs.Oracle.com/cd/B28359_01/server.111/b28310/tables006. htm