Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ubah kolom drop tabel di database Oracle

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa Batasan Memanggil Fungsi Oracle SQL developer

  2. MySQL:bagaimana melakukan keamanan tingkat baris (seperti Oracle's Virtual Private Database)?

  3. mengotomatiskan oracle skrip rollback

  4. Cari database Oracle untuk tabel dengan nama kolom tertentu?

  5. Impor File CSV di Tabel Oracle Menggunakan Prosedur Tersimpan