DB2 LUW存储过程中With子句结果赋值变量报错咨询
DB2 LUW存储过程中WITH子句结果赋值变量的解决方案
- 不需要必须使用游标,调整语法即可直接完成赋值操作
- 错误原因:DB2 LUW不支持在
SET语句的子查询中以WITH子句作为开头,这会触发SQLCODE=-104语法错误
修正后的代码示例
DECLARE result CLOB(8M); WITH BASE AS ( -- 填入你的BASE子查询逻辑 SELECT ... ) SELECT JSON_ARRAY((SELECT json_objects FROM ITEMS FORMAT JSON)) INTO result FROM SYSIBM.SYSDUMMY1;
关键说明
- 使用
SELECT ... INTO ...替代SET语法,将WITH子句放在整个查询的最前端,符合DB2的语法规范 - 确保
JSON_ARRAY内的子查询被括号包裹,避免语法歧义
内容的提问来源于stack exchange,提问作者DB2fan
相关产品推荐
相关产品推荐

