如何在 CL/400 中使用 runqry 命令执行带有 where 条件的 db2 查询

How to execute a db2 query with a where condition using runqry command in CL/400

我试图使用 CLLE 的 runqry 命令执行 IBM DB2 查询,但无法执行,因为它包含 where 条件,而且我无法在 runqry 命令中定义主机变量。这可以通过使用 runqry 命令而不使用 qryslt 来完成吗?

请帮帮我。

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))