SQL - Select's utéis - Colunas chaves de uma tabela - www.cadcobol.com.br
SELECT A.TBNAME TABELA , A.COLNO SEQ , A.NAME COLUNA , A.COLTYPE TIPO , '{' || SUBSTR(DIGITS(A.LENGTH), 2, 4) || ',' || REPLACE(SUBSTR(DIGITS(A.SCALE), 5, 1),'0', ' ') || '}' TAMANHO , SUBSTR(DIGITS(VALUE(C.COLSEQ, 0)), 9, 2) KEY FROM SYSIBM.SYSCOLUMNS A , SYSIBM.SYSINDEXES B , SYSIBM.SYSKEYS C WHERE A.TBNAME LIKE '%CADTB002_DEB_FOLHA%' AND A.TBCREATOR = 'CAD' AND A.TBNAME = B.TBNAME AND A.TBCREATOR = B.TBCREATOR AND B.NAME = C.IXNAME AND B.CREATOR = C.IXCREATOR AND A.NAME = C.COLNAME ORDER BY 6
REPORT LINE 1 POS 1 79 TABELA SEQ COLUNA TIPO TAMANHO KEY ------------------ ------ ------------------ -------- -------- --- CADTB002_DEB_FOLHA 1 NU_CONTRATO DECIMAL {0012, } 01 CADTB002_DEB_FOLHA 2 NU_VENCIMENTO INTEGER {0004, } 02 *** END *** 1=Help 2= 3=End 4=Print 5=Chart 6=Query 7=Backward 8=Forward 9=Form 10=Left 11=Right 12= OK, this is the REPORT from your RUN command. COMMAND ===> SCROLL ===> PAGE
SELECT A.TBNAME TABELA , A.COLNO SEQ , A.NAME COLUNA , A.COLTYPE TIPO , '{' || SUBSTR(DIGITS(A.LENGTH), 2, 4) || ',' || REPLACE(SUBSTR(DIGITS(A.SCALE), 5, 1),'0', ' ') || '}' TAMANHO , SUBSTR(DIGITS(VALUE(C.COLSEQ, 0)), 9, 2) KEY FROM SYSIBM.SYSCOLUMNS A , SYSIBM.SYSINDEXES B , SYSIBM.SYSKEYS C WHERE A.TBNAME LIKE '%CADTB007_CNSLDCO%' AND A.TBCREATOR = 'CAD' AND A.TBNAME = B.TBNAME AND A.TBCREATOR = B.TBCREATOR AND B.NAME = C.IXNAME AND B.CREATOR = C.IXCREATOR AND A.NAME = C.COLNAME ORDER BY 6
REPORT LINE 1 POS 1 79 TABELA SEQ COLUNA TIPO TAMANHO KEY ------------------ ------ ------------------ -------- -------- --- CADTB007_CNSLDCO 2 DT_FINAL DATE {0004, } 01 CADTB007_CNSLDCO 3 NU_UNO SMALLINT {0002, } 02 CADTB007_CNSLDCO 5 NU_GRUPO SMALLINT {0002, } 03 *** END *** 1=Help 2= 3=End 4=Print 5=Chart 6=Query 7=Backward 8=Forward 9=Form 10=Left 11=Right 12= OK, FORWARD performed. Please proceed. COMMAND ===> SCROLL ===> PAGE