Bir db2 (v10) veritabanında bir CLOB(2000000)
alanım var ve basit bir UPDATE
sorgusunu, her bir "foo" ifadesinin "baaz" olarak değiştirilmesi için çalıştırmak istiyorum. alanın içeriğini 32k daha sonra olduğu içinBir CLOB sütununda (db2) karakterlerin değiştirilmesi
, aşağıdaki hatayı olsun:
"{some char data from field}" is too long.. SQLCODE=-433, SQLSTATE=22001
nasıl değerler yerine?
GÜNCELLEME: sorgu oldu (kolay test için SELECT'in dönüştü GÜNCELLEME) Aşağıdaki: (
SELECT REPLACE(my_clob_column, 'foo', 'baaz') FROM my_table WHERE id = 10726
GÜNCELLEME 2 mustaccio belirttiği gibi, REPLACE
CLOB
alanlarda çalışmıyor veya en az VARCHAR
'a girilen veriyi kullanmadan - bu durumda veri boyutu 32k'dan daha fazla olduğu için benim durumumda mümkün değildir - soru şu: REPLACE
işlevini akutlaştırmak için alternatif bir yol bulmakla ilgili CLOB
alanları için allity.
sayesinde krisy
Çalıştığınız gerçek bildirimi göstermek isteyebilirsiniz. Ayrıca, bu DB2 z/OS için mi? (Bu sürüm 10 olan tek platform) – mustaccio
Soruyu – krisy
sorgusuyla güncelleştirildi 'REPLACE 'işlevi' VARCHAR'ı kabul eder ve döndürür, bu nedenle açıkça 'CLOB' sütunlarıyla çalışmak için kullanamazsınız. – mustaccio