我想用syscolumns中的'collength'值創建表('campo_sys')來更新表('n_tamanho')的列。用syscolumns列更新列值的存儲過程
對於我用這個過程:
CREATE PROCEDURE test()
DEFINE testecol smallint;
FOREACH cur1 WITH HOLD FOR
SELECT collength
INTO testecol
FROM syscolumns
update campo_sys
set campo_sys.n_tamanho = testecol;
END FOREACH
END PROCEDURE;
當比較collength和n_tamanho的值,這些值是不相同的。什麼可能是錯的?
給出一個列定義的具體例子和兩個不同的值可能會有所幫助。 – christutty
執行該過程後,我獲得了不同的值長度和n_tamanho。例如,n_tamanho = 20和collength = 2048,對於相同的記錄 –
,聽起來您已經獲得了varchar字段的潛在最大長度和當前最長值之間的差異,儘管我對Informix不夠熟悉待確認 – christutty