Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menukar jenis medan dalam oracle

Bagaimana untuk menukar jenis medan dalam oracle

青灯夜游
青灯夜游asal
2022-03-02 17:18:0012014semak imbas

Dalam Oracle, anda boleh menggunakan pernyataan "ALTER TABLE MODIFY" untuk menukar jenis medan Sintaks ialah "ALTER TABLE table_name MODIFY (nama medan jenis data baharu)".

Bagaimana untuk menukar jenis medan dalam oracle

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

Dalam Oracle, anda boleh menggunakan pernyataan "ALTER TABLE MODIFY" untuk menukar takrifan lajur sedia ada, seperti mengubah suai jenis medan.

Format sintaks:

ALTER TABLE table_name MODIFY(字段名称 新数据类型)

Contohnya: terdapat jadual bernama tb, segmen medan bernama nama dan jenis data nchar(20).

1. Dengan mengandaikan bahawa data medan itu kosong, tidak kira jenis medan yang diubah, ia boleh dilaksanakan secara langsung:

alter table tb modify (name nvarchar2(20));

2 ditukar terus kepada nvarchar2(20) Pelaksanaan:

alter table tb modify (name nvarchar2(20));

3. Dengan mengandaikan bahawa medan itu mempunyai data, tukarkannya kepada varchar2(40) apabila melaksanakan, ia akan muncul: "ORA-01439: To tukar jenis data, lajur yang hendak diubah suai mestilah kosong", Pada masa ini, kaedah berikut harus digunakan untuk menyelesaikan masalah ini:

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;

Ringkasan:

1. Bila medan tidak mempunyai data atau jenis baharu yang akan diubah suai serasi dengan jenis asal, anda boleh mengubah suainya terus .

2 Apabila medan mempunyai data dan jenis baharu yang akan diubah suai tidak serasi dengan jenis asal, medan baharu mesti dibuat secara tidak langsung untuk pemindahan.

Tutorial yang disyorkan: "Tutorial Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menukar jenis medan dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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