1 Mayıs 2013 Çarşamba

Veri içeren tabloda kolon veri türünü değiştirmek

Aşağıdaki gibi bir tablo tanımı olsun.

create table test1
(
no number,
ad varchar2(20),
sira varchar2(100)
);


İçindeki değerler

no ad sira
1 deger1 3
2 deger2 1
3 deger3 2

Tablonun içinde yukarıdaki gibi değerler mevcut ise

ve 'sira' kolonunun veri türünü 'number'

olarak değiştirilirse

"ORA-01439: column to be modified must be empty to change datatype"

gibi hata alır.

Aşağıdaki sql sırası çalıştırılırsa sorun çözülür.


ALTER TABLE test1 ADD (sira2 NUMBER);

UPDATE test1 set sira2=sira;

ALTER TABLE test1 DROP COLUMN sira;

ALTER TABLE test1 RENAME COLUMN sira2 TO sira;

Hiç yorum yok:

Yorum Gönder