我创建了用于选择的动态DB2存储过程。我将使用此通用查询通过传递参数来执行多个select语句。
SET V_SELECT =
'SELECT ' || SELECT_FIELDS ||
' INTO ' || INTO_FIELDS ||
' FROM ' || TABLE_NAME ||
' WHERE ' || WHERE_CLAUSE ||
' WITH UR';
EXECUTE IMMEDIATE V_SELECT;
下面是我的查询的外观。
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条款”。
提前致谢。
我手头没有DB2 for z / os,但是您应该执行以下操作:
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
。第二个?
表示您随V_NAME
变量传递的参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句