informix中,写了一个存储过程,发现游标返回的变量不能作为表的列名进行查询操作,请帮忙看看如何修改,谢谢了!
jbtbl 2007-08-07 06:31:48 create procedure rb_proc()
define Temp_col varchar(20) ;
BEGIN WORK;
FOREACH cur_col for SELECT colname
INTO Temp_col FROM syscolumns
WHERE tabid='1949' and colname <>'qishu'
IF Temp_col IS NOT NULL THEN
insert INTO temp_gl
select Temp_col as ball,sum(Temp_col)/count(qishu) as y_03,'','','','',''
--问题就出现在sum中,执行后报错 :
-- 367: Sums and averages cannot be computed for character columns.
from temp_rb group by 1;
END IF;
END FOREACH;
COMMIT WORK;
end procedure ;
--说明在取到Temp_col的值后,认为这是一个字符常量,不认为这是数据库中的一个字段;试了很多方法,包括加trim(),加表名,都无济于事。请高手帮我分析如何解决,谢谢!