我已经可以通过IBM I Command DSPFD获得我需要的信息。在spool文件的后面,我看到了PF的UNIQUE信息,以及所有必要的键字段(请参阅下面,不幸的是,我们的IBMi语言是德语(。
现在,我可以通过DB2中的目录表来搜索这些信息吗?我需要查询的是a( 这张表被标记为UNIQUE吗?b( 如果a为true,请显示那些UNIQUE键字段。
例如,我可以diplay我想要的表的列,这已经很棒了:syscolumns2-示例SQL:
SELECT c.* from qsys2.SYSCOLUMNS2 c
WHERE TRIM(UPPER(table_name)) = UPPER('GENPF510');
来源:https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafzcatalogtbls.htm
请注意,我无法通过SYSKEYS表获得我需要的信息,我已经检查了这个-这个表是关于索引的信息,在这种情况下,这些信息没有应用于我的旧PF(可以添加以获得更快的查询访问(
Spool-Datei anzeigen
Datei . . . . . : QPDSPFD Seite/Zeile 2/5
Steuerung . . . . Spalten 1 - 130
Suchen . . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3
Wartung des Zugriffspfads . . . . . . . . . : MAINT *IMMED
Eindeutige Schlüsselwerte erforderlich . . : UNIQUE Ja
Zugriffspfad aufgezeichnet . . . . . . . . : Nein
Zugriffspfad . . . . . . . . . . . . . . . : Geschlüsselt
Integritätsart . . . . . . . . . . . . . . : NONE
Anzahl der Schlüsselfelder . . . . . . . . : 1
Satzformat . . . . . . . . . . . . . . . . : GENPR510
Schlüsselfeld . . . . . . . . . . . . . . : ADRE10
Reihenfolge . . . . . . . . . . . . . . : Aufsteigend
Vorzeichen angegeben . . . . . . . . . : UNSIGNED
Zone/Ziffer angegeben . . . . . . . . . : *NONE
Alternative Sortierfolge . . . . . . . : Nein
Sortierfolge . . . . . . . . . . . . . . . : SRTSEQ *HEX
Sprachen-ID . . . . . . . . . . . . . . . . : LANGID DEU
Teildateibeschreibung
Teildatei . . . . . . . . . . . . . . . . . : MBR GENPF510
Teildateiebenen-ID . . . . . . . . . . . : 1010412225901
Erstellungsdatum der Teildatei . . . . . : 12.04.01
Text 'Beschreibung' . . . . . . . . . . . : TEXT Adresse /WH
Weitere ...
F3=Verlassen F12=Abbrechen F19=Links F20=Rechts F24=Weitere Tasten
您要查找的信息可以在QSYS.QADBXREF.中找到
此SQL查询提供了所有视图和逻辑文件及其键的列表。DBXUNQ="U"标记唯一密钥。
Select DBXFIL , f.DBKFLD, DBKPOS , t.DBXUNQ
from QSYS.QADBXREF t
INNER JOIN QSYS.QADBKFLD f on DBXFIL = DBKFIL and DBXLIB = DBKLIB
INNER JOIN QSYS.QADBFDEP d on d.DBFFDP = t.DBXFIL and d.DBFLIB=t.DBXLIB
where d.DBFFIL = 'GENPF510' and d.DBFLIB = 'YOURLIBRARY'
order by DBXFIL, DBKPOS
我在BRAIN AS/Infr AS工作的时代已经一去不复返了。因此,请原谅"YOURLIBRARY"占位符。