DBAtlas · Veritabanı operasyon atlası

ORA-12899: value too large for column

Oracle

Ne demek?

Bir karakter/veri sütununa, tanımlı maksimum uzunluğundan daha uzun bir değer yazılmaya çalışıldı. Örneğin VARCHAR2(10) sütununa 15 karakterlik metin sığmaz.

Neden olur?

Sütun genişliğinin veriye göre yetersiz olması; çok baytlı karakter kümesinde (UTF8) karakter sayısının bayt sınırını aşması (BYTE semantiği); veri göçünde farklı karakter kümesi; birleştirme (concat) sonucunun uzaması.

Nasıl çözülür?

Sütunu genişletin: ALTER TABLE tablo MODIFY (sutun VARCHAR2(100)); Çok baytlı içerik için CHAR semantiği kullanın: sutun VARCHAR2(100 CHAR). Uzun değerleri kısaltmak gerekiyorsa SUBSTR ile budayın. Hata mesajı gerçek ve izin verilen uzunluğu verir; hangi kaydın taştığını LENGTH/LENGTHB ile bulun.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar