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