我试图使用CLLE的runqry命令执行IBM DB2查询,但无法执行,因为它包含where条件,而我是无法在runqry命令中定义主机变量。这可以通过使用runqry命令而不使用qryslt来完成。如何在CL/400中使用runqry命令执行where条件的db2查询
请帮我一把。
我试图使用CLLE的runqry命令执行IBM DB2查询,但无法执行,因为它包含where条件,而我是无法在runqry命令中定义主机变量。这可以通过使用runqry命令而不使用qryslt来完成。如何在CL/400中使用runqry命令执行where条件的db2查询
请帮我一把。
RUNQRY
不支持变量。
您可以在Query/400查询中定义变量,但必须使用Start Query Management Query (STRQMQRY)
命令来运行查询。
请务必注明:
Allow information from QRYDFN . ALWQRYDFN *YES`
这里是一个IBM document,显示如何做到这一点。
Select Records Type comparisons, press Enter. Specify OR to start each new group. Tests: EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT... AND/OR Field Test Value (Field, Number, 'Characters', or ...) GLCOMP EQ :COMPANY AND GLBRAN EQ :BRANCH AND GLACC EQ :ACCOUNT -----------------------------------------------------------------------
STRQMQRY QMQRY(library/qry-name) ALWQRYDFN(*YES) +
QMFORM(*QMQRY) SETVAR((COMPANY 1) (BRANCH 1) (ACCOUNT 12000))
您也可以使用&来表示qmqry中的一个变量,但这将是针对使用CRTQMQRY创建的实际qmqry。 – danny117
其实看起来这是可能的。 – danny117