Ibm midrange IBMi目录表查询-搜索物理文件“;记录格式";
我知道我可以用´´´´´´´´显示*文件信息,也可以在中搜索“记录格式”/“格式” 具有以下SQL的“逻辑文件密钥字段”:Ibm midrange IBMi目录表查询-搜索物理文件“;记录格式";,ibm-midrange,Ibm Midrange,我知道我可以用´´´´´´´´显示*文件信息,也可以在中搜索“记录格式”/“格式” 具有以下SQL的“逻辑文件密钥字段”: --[02] Key-Info for a **Logical File** Select k.DBKFLD as "keyF.", DBKPOS as "position", TRIM(c.column_heading) as "HDescr.", c.DATA_TYPE,c."LENGTH&q
--[02] Key-Info for a **Logical File**
Select k.DBKFLD as "keyF.", DBKPOS as "position",
TRIM(c.column_heading) as "HDescr.", c.DATA_TYPE,c."LENGTH", x.DBXUNQ as "unique",
'/' as "/",
--k.DBkLIB as "LIB", DBXFIL as "File", dbxATR as "Atr.",
DBKFMT as "Format", d.DBFFIL as "P.File", DBXTXT as "Descr."
from QSYS.QADBKFLD k
INNER JOIN QSYS.QADBFDEP d on d.DBFFDP = k.DBkFIL and d.DBFLIB=k.DBKLIB
INNER JOIN QSYS.QADBXREF x on DBXFIL = k.DBKFIL and DBXLIB = k.DBKLIB
INNER JOIN qsys2.syscolumns2 c
on k.dbkfld = c.system_column_name and c.table_name = k.DBkFIL and c.table_schema = k.dbklib
where
-- k.DBkFIL = upper('FIL1') -- logical File name
--and k.DBkLIB = upper('LIB1') -- in lib
DBKFMT = '?FORMAT?'
order by DBXFIL, DBKPOS;
但这只适用于逻辑文件。有没有办法在IBMi目录表中搜索物理文件中的格式
比如:
select * from qsys2.PFcatalogxyz where FMT = 'FMT1'
我已经在QSYS2.SYSTABLES中查找过了,但是那里没有可用的格式信息
-- search for table descriptions
select TABLE_SCHEMA,TABLE_NAME, TABLE_TEXT, COLUMN_COUNT,LAST_ALTERED_TIMESTAMP , s.*
from QSYS2.SYSTABLES s where
upper(Table_NAME) = 'TAB001'
--upper(table_SCHEMA) like upper('%t1%')
-- and upper(TABLE_TEXT) like upper('%t2%')
;
此查询仅适用于LF,因为
内部联接QSYS.QADBFDEP
应该是左联接
,因为PF不依赖于其他文件