Kami dapat mengubah tipe data kolom dalam tabel menggunakan ubah tabel ubah kolom di Oracle
ALTER TABLE table_nameMODIFY column_name;
Tindakan dapat berupa banyak hal seperti
(a) mengubah tipe data
(b) Mempersingkat atau memperlebar tipe data
(c) Ubah nilai default
(d) Ubah menjadi izinkan null atau tidak null
(e) Visibilitas Kolom
(d) Modifikasi Kolom Virtual
Mari kita mulai satu per satu
Oracle MODIFY kolom mengubah tipe data
Anda dapat mengubah tipe data perubahan kolom hanya jika kolom kosong
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 (Judul, Penulis),CONSTRAINT Books_master_UK2 UNIQUE (ISBN));Tabel Dibuat
Karena tabel kosong, kita dapat mengubah tipe data perubahan kolom
SQL> ubah tabel Books_master ubah ISBN NUMBER(6,0);Tabel diubah.SQL> ubah tabel Books_master ubah ISBN VARCHAR2(25);Tabel diubah.
Mari kita masukkan beberapa data
SQL> INSERT INTO Books_master (Book_Id, Title, Author, ISBN, BCost, Publish_Year) NILAI (10, 'Lengkap/Nyaman', 'Ketan Bhagat', 'ISBN 978-93-80349-92-3', 195 , 2013);1 baris dibuat.commit;
Sekarang coba ubah lagi kolom untuk mengubah tipe data
SQL> ubah tabel Books_master ubah ISBN NUMBER(6,0);ubah tabel Books_master ubah ISBN NUMBER(6,0)*ERROR pada baris 1:ORA-01439:kolom yang akan diubah harus kosong untuk mengubah tipe dataSekarang kita dapat membatalkan kolom itu dan menjalankan pernyataan ini dengan sukses
SQL> perbarui Books_master set ISBN=null;1 baris diperbarui.SQL> commit;Commit complete.SQL> ubah tabel Books_master ubah ISBN NUMBER(6,0);Tabel diubah.Sekarang apa yang harus dilakukan jika kita ingin menyimpan data, ada beberapa opsi
(a) Tambahkan kolom baru sebagai tipe data baru, salin data ke kolom ini, hapus kolom lama, ganti nama kolom baru sebagai nama kolom yang sebenarnya:ubah tabel books_master tambahkan nomor ISBN1; perbarui kumpulan books_master ISBN1=to_number(ISBN);ubah kolom drop tabel ISBN;ubah tabel ganti nama kolom ISBN1 menjadi ISBN;(b) Gunakan DBMS_REDEFINITION dan bangun kembali tabel Anda dengan kolom baru
Kolom Oracle MODIFY Memperpendek atau memperlebar tipe data (mengubah tabel memodifikasi ukuran kolom Oracle)
Ini digunakan ketika kita ingin mengubah byte atau karakter VARCHAR.
ContohDi sini kami meningkatkan panjang VARCHAR dari 50 menjadi 100
SQL> mengubah tabel Books_master memodifikasi judul VARCHAR2(100);Tabel diubah.Sekarang jika kita mencoba mempersingkat panjangnya dari 100 menjadi 10
SQL> ubah tabel Books_master ubah judul VARCHAR2(10);ubah tabel Books_master ubah judul VARCHAR2(10)*ERROR pada baris 1:ORA-01441:tidak dapat mengurangi panjang kolom karena beberapa nilai terlalu besarIni terjadi karena data yang ada tidak sesuai dengan ukuran itu. Jadi bisa tambah panjangnya atau perbarui kolom itu
SQL> ubah tabel Books_master ubah judul VARCHAR2(20);Tabel diubah.nilai default kolom Oracle MODIFY
jika kita harus mengubah nilai default kolom
SQL> ubah tabel BOOKS_MASTER ubah BCOST default 1000;Tabel diubah.Sekarang lain kali jika penyisipan terjadi dan BCOST adalah nol, itu akan memiliki nilai default sebagai 1000
mengubah tabel BOOKS_MASTER memodifikasi BCOST default 1000;Tabel diubah.SQL> INSERT INTO Books_master (Book_Id, Judul, Penulis, ISBN,Publish_Year) VALUES (21, 'Deception', 'Dan', 123,2001);1 baris dibuat .SQL> commit;Commit complete.SQL> pilih BCOST dari Books_master di mana book_id=21;BCOST------1000
Oracle MODIFY kolom NULL or NOT NULL
Kita dapat memodifikasi kolom untuk mengizinkan null atau bukan null
SQL> desc books_masterName Null? Ketik---- ------BOOK_ID NOT NULL NUMBER(6)TITLE VARCHAR2(20)AUTHOR VARCHAR2(50)ISBN NUMBER(6)BCOST NOT NULL NUMBER(6)PUBLISH_YEAR NUMBER(4)SQL> mengubah tabel BOOKS_MASTER memodifikasi PUBLISH_YEAR bukan null;Tabel diubah.SQL> desc books_masterName Null? Ketik---- ---- -----BOOK_ID NOT NULL NUMBER(6)TITLE VARCHAR2(20)AUTHOR VARCHAR2(50)ISBN NUMBER(6)BCOST NOT NULL NUMBER(6)PUBLISH_YEAR NOT NULL NUMBER(4)Jika Anda mengubah ke not null, kita harus memiliki nilai yang ada, jika tidak ini akan gagal
Visibilitas kolom Oracle MODIFY
Kita dapat mengubah visibilitas kolom dengan Ubah kolom
SQL> desc books_masterName Null? Ketik---- ---- -----BOOK_ID NOT NULL NUMBER(6)TITLE VARCHAR2(20)AUTHOR VARCHAR2(50)ISBN NUMBER(6)BCOST NOT NULL NUMBER(6)PUBLISH_YEAR NOT NULL NUMBER(4) SQL> ubah tabel BOOKS_MASTER ubah PUBLISH_YEAR tak terlihat;Tabel diubah.Sekarang kolomnya menjadi tak terlihatSQL> desc books_masterName Null? Ketik---------BOOK_ID NOT NULL NUMBER(6)TITLE VARCHAR2(20)AUTHOR VARCHAR2(50)ISBN NUMBER(6)BCOST NOT NULL NUMBER(6)SQL> mengubah tabel BOOKS_MASTER memodifikasi PUBLISH_YEAR terlihat;Tabel diubah.Sekarang kolom menjadi visibleSQL> desc books_masterName Null? Ketik-------- -----BOOK_ID NOT NULL NUMBER(6)JUDUL VARCHAR2(20)AUTHOR VARCHAR2(50)ISBN NUMBER(6)BCOST NOT NULL NUMBER(6)PUBLISH_YEAR NOT NULL NUMBER(4)Saya harap Anda menyukai posting ini di tabel ubah oracle, modifikasi kolom. Harap berikan umpan balik
Juga Dibaca
ubah tabel tambahkan kolom Oracle
ubah tabel ganti nama kolom Oracle
lepaskan kolom di Oracle
https://docs.Oracle.com/cd/B28359_01/server.111/b28286/ pernyataan_3001.htm