为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:KylinV10
【CPU】:
【问题描述】*:游标获取用户表user_tables,读完一部分报sqlclode=102错误:在集函数中计算NULL值,这是什么意思?
EXEC SQL DECLARE curosr1 CURSOR FOR select table_name from user_tables order by table_name asc;
fectch到第十几条的时候sqlcode会报102错误,即“在集函数中计算NULL值”,这是啥意思?为什么不是一开始就报错?
1)查一下dm.ini文件中COMPATIBLE_MODE的设置值
select para_name from v$dm_ini where para_name like ‘COMPATIBLE_MODE’;
或者select sf_get_para_value(1,‘COMPATIBLE_MODE’);
2)COMPATIBLE_MODE = 0,修改为2,重启数据库才生效
修改命令:
SP_SET_PARA_VALUE (2,‘COMPATIBLE_MODE’,2);
3)然后再运行一下程序看是否报错。