Ibm midrange 需要为逻辑文件的一种格式编写代码

Ibm midrange 需要为逻辑文件的一种格式编写代码,ibm-midrange,db2-400,Ibm Midrange,Db2 400,这里的一个文件是“多格式”。我该如何编写我需要的代码?文件是OEIND1,此代码由IBMi工具从查询中创建。我发现您不能在SQL中使用格式。 那么唯一的方法就是使用物理文件 SELECT ALL T01.OHORDD, T03.IHINV#, T01.OHORDT, T01.OHJOB3, T01.OHORD#, T02.IDPRLC, T02.IDNTU$*(IDSHP#) AS EXTSHP, T02.IDPRT# FROM AST

这里的一个文件是“多格式”。我该如何编写我需要的代码?文件是OEIND1,此代码由IBMi工具从查询中创建。我发现您不能在SQL中使用格式。 那么唯一的方法就是使用物理文件

SELECT
   ALL       T01.OHORDD, T03.IHINV#, T01.OHORDT, T01.OHJOB3, T01.OHORD#,
             T02.IDPRLC, T02.IDNTU$*(IDSHP#) AS EXTSHP, T02.IDPRT#
   FROM      ASTDTA/OEORHDOH T01 LEFT OUTER JOIN
             ASTDTA/OEIND1 T02
   ON        T01.OHORD# = T02.IDORD# LEFT OUTER JOIN
             ASTDTA/OEINHDIH T03
   ON        T01.OHORD# = T03.IHORD#
   WHERE     T01.OHOSTC = 'CL'
     AND     T01.OHORDD >= 20120101
   ORDER BY  T01.OHORD# ASC

多格式逻辑仅适用于DDS。SQL不了解如何处理这些。使用底层PF。

多格式逻辑文件是通过引用多个物理文件创建的,每个物理文件都以自己的格式提供记录。您只需要一种格式,因此希望使用包含该格式的物理文件


如果您确实需要来自多种格式的信息,请加入相关的物理文件,或者可能是UNION或类似文件。在SQL中,无论如何都应该引用物理量。如果您指定了物理参数,那么优化器将评估逻辑参数,如果结果与您所请求的匹配良好,并且是获得结果的最有效的方法,则会自动使用逻辑参数。信任SQE优化器

如果没有逻辑(包括视图)提供更合适的列集和行集,则应该参考物理。对于多格式LFs,没有选择。当然,可能在大多数情况下,LFs都是使用隐式字段列表创建的;所以他们没有优势。但是大多数LF索引都是SQE可以接受的。似乎所提到的工具是Retrieve QM查询(RTVQMQRY),“from the Query”指的是一个查询定义(QRYDFN),在该查询定义中,在该检索命令的Allow Query Definition(ALWQRYDFN)参数上允许使用*YES或*ONLY规范进行检索。在这种情况下,分析查询(ANZQRY)应该通知无法从Query/400[aka IBM i Query]对象检索到查询管理查询(QMQRY)源中的准确定义。