SET V_SELECT =
'SELECT ' || SELECT_FIELDS ||
' INTO ' || INTO_FIELDS ||
' FROM ' || TABLE_NAME ||
' WHERE ' || WHERE_CLAUSE ||
' WITH UR';
EXECUTE IMMEDIATE V_SELECT;
我为select创建了动态DB2存储过程。我将使用这个通用查询来执行多个选择语句,通过传递参数。
SELECT B.PROD_TYP
INTO HOST_VAR_PROD_TYP
FROM TABLE_A A
INNER JOIN TABLE_B B
ON A.ROW_ID = B.ROW_ID
WHERE A.PROD_CD = HOST_VAR_PROD_CD;
下面是我的查询的样子。
当我运行这个查询时,我得到的结果是
"INTO CLAUSE IS NOT PERMETED"。
先谢谢你。我为select创建了动态DB2存储过程。我将使用这个通用查询执行多个选择语句,通过传递参数。SET V_SELECT = 'SELECT '是在手边,但你应该做这样的事情。
DECLARE V_STMT VARCHAR(200);
DECLARE V_NAME VARCHAR(128);
DECLARE V_COLCOUNT INT;
SET V_NAME = 'SYSTABLES';
SET V_STMT = 'SET ? = (SELECT COLCOUNT FROM SYSIBM.SYSTABLES WHERE CREATOR = ''SYSIBM'' AND NAME = ?)';
PREPARE S1 FROM V_STMT;
EXECUTE S1 INTO V_COLCOUNT USING V_NAME;
你需要 SET
声明。构造 V_STMT
根据您的需求,价值。1级 ?
表示你得到的结果是 V_COLCOUNT
从你 select
. 第2次 ?
表示你用 V_NAME
可变的。