【发布时间】:2016-02-10 00:55:29
【问题描述】:
我想用来自 syscolumns 的 'collength' 值更新我创建的表 ('campo_sys') 的列 ('n_tamanho')。
为此,我使用了这个程序:
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 的值时,值不一样。有什么问题?
【问题讨论】:
-
给出列定义和两个不同值的具体示例可能会有所帮助
-
执行程序后,我得到了不同的 collength 和 n_tamanho 值。例如,对于同一条记录,n_tamanho=20 和 collength=2048
-
听起来你得到了 varchar 字段的潜在最大长度和当前最长值之间的差异,尽管我对 Informix 不够熟悉,无法确定
标签: sql stored-procedures informix