Kita sering perlu Mengubah Tabel di Oracle tergantung pada perubahan Persyaratan dan peningkatan. Berikut adalah beberapa poin penting tentang pernyataan Alter table
- Anda mengubah atau memodifikasi tabel menggunakan ALTER TABLE pernyataan.
- Tabel harus ada dalam skema Anda Untuk mengubah tabel, atau Anda harus memiliki hak istimewa ALTER objek untuk tabel atau hak istimewa sistem ALTER ANY TABLE.
- Jika tampilan, tampilan terwujud, pemicu, indeks berbasis fungsi, batasan pemeriksaan, fungsi, prosedur paket bergantung pada tabel dasar, perubahan tabel dasar atau kolomnya dapat memengaruhi objek dependen Misalnya objek plsql menjadi tidak valid jika objek tabel dependen diubah dan Anda harus membuatnya valid kembali
Ubah karakteristik fisik (INITRANS atau parameter penyimpanan)
Kita dapat memodifikasi parameter penyimpanan tabel menggunakan pernyataan Alter tabel. Kita bisa memodifikasi inittrans seperti ini
ALTER TABLE TABLE_NAME INITRANS 10;
Memindahkan tabel ke segmen atau tablespace baru
Kita dapat memindahkan tabel non-partisi atau partisi dari tabel ke segmen baru atau tablespace baru jika diperlukan
Alter table table_name move tablespace <tablespace name>
Kita bahkan dapat menggunakan perintah pindah untuk mengubah parameter penyimpanan tabel yang tidak dimodifikasi menggunakan perintah ubah tabel
Ubah Tabel di Oracle untuk Mengubah Tipe Data
Kita dapat mengubah tipe data dari kolom apa pun menggunakan perintah ubah tabel ubah
ALTER TABLE <table_name> MODIFY (<column_name> <new_data_type>);
Before SQL> desc emp Name Null? Type ----------------------------------------- -------- ----------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) After SQL> desc emp Name Null? Type ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(20) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)
ubah tipe data kolom di Oracle
Tambahkan kolom baru/Lepaskan kolom/ganti nama kolom
Kita dapat menambahkan kolom baru ke definisi tabel
Menggunakan perintah ubah tabel add
ALTER TABLE <table_name>
ADD (<New column_name> <new_data_type>);
Oracle memungkinkan Anda untuk mengganti nama kolom yang ada dalam sebuah tabel. Gunakan klausa RENAME COLUMN dari pernyataan ALTER TABLE untuk mengganti nama kolom
Oracle memungkinkan Anda untuk menjatuhkan kolom di tabel menggunakan perintah
Ubah kolom drop table
Silakan periksa artikel di bawah ini untuk mempelajarinya secara detail
ubah tabel tambahkan oracle kolom
Tetapkan Kolom yang Tidak Digunakan dan Lepaskan kolom yang tidak digunakan
jika Anda khawatir tentang sumber daya yang dikonsumsi dalam menjatuhkan kolom, Anda dapat menggunakan pernyataan ALTER TABLE…SET UNUSED.
Pernyataan ini menandai satu atau lebih 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.
Example
ALTER TABLE <table_name>
SET UNUSED COLUMN <column_name>;
Kita dapat membuang kolom yang tidak digunakan nanti ketika sumber daya lebih rendah menggunakan perintah
ALTER TABLE <table_name>
Drop UNUSED COLUMN ;
Tambahkan, ubah, atau hapus batasan integritas yang terkait dengan tabel atau Anda juga dapat mengaktifkan/menonaktifkan batasan
Tambahkan batasan dilakukan menggunakan ubah tabel tambahkan batasan
ALTER TABLE EMP ADD CONSTRAINT EMP_FK FOREIGN KEY (DEPT_NO) REFERENCES DEPT(DEPT_NO);
Menjatuhkan Batasan – dilakukan dengan menggunakan
perintahALTER TABLE DROP CONSTRAINT <constraint_name> command;
Mengaktifkan/Menonaktifkan Batasan – Batasan dapat dibuat dalam mode DISABLE/ENABLE atau dapat dinonaktifkan atau diaktifkan menggunakan perintah
ALTER TABLE ENABLE/DISABLE CONSTRAINT <constraint_name>
Ganti nama tabel
Oracle memungkinkan Anda untuk mengganti nama nama tabel juga
Rename <table name> to <new table name>;
Perubahan tabel cache/no-cache, Kompresi, paralelisme
Oracle mengizinkan Perubahan tabel cache/no-cache, Kompresi, paralelisme
Artikel Terkait
Daftar Semua Tabel di Oracle
buat tabel Oracle
ora-20005:statistik objek dikunci
ubah pemindahan tabel
cara memeriksa semua batasan pada tabel di Oracle
https ://docs.Oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm