IBM DB2 Query Toolbox - List all primary keys (PKs) in Db2 database



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

IBM Db2 Query Toolbox - List all primary keys (PKs) in Db2 database

A consulta abaixo lista todas as restrições de chaves primárias ( PK ) no banco de dados.
Query below lists all primary keys constraints (PK) in the database.

Consulta - Query

SELECT TAB.TABSCHEMA AS SCHEMA_NAME
,      CONST.CONSTNAME AS PK_NAME
,      LISTAGG(KEY.COLNAME, ', ') 
              WITHIN GROUP(ORDER BY KEY.COLSEQ) AS COLUMNS
,      TAB.TABNAME AS TABLE_NAME
  FROM SYSCAT.TABLES TAB
       INNER JOIN SYSCAT.TABCONST CONST 
       ON CONST.TABSCHEMA = TAB.TABSCHEMA 
       AND CONST.TABNAME = TAB.TABNAME AND CONST.TYPE = 'P'
       JOIN SYSCAT.KEYCOLUSE KEY 
       ON CONST.TABSCHEMA = KEY.TABSCHEMA 
       AND CONST.TABNAME = KEY.TABNAME
       AND CONST.CONSTNAME = KEY.CONSTNAME     
 WHERE TAB.TYPE = 'T'
   AND TAB.TABSCHEMA NOT LIKE 'SYS%'
 GROUP BY TAB.TABSCHEMA
 ,        CONST.CONSTNAME
 ,        TAB.TABNAME   
 ORDER BY TAB.TABSCHEMA
 ,        CONST.CONSTNAME

Colunas

  • schema_name - nome do esquema PK
  • pk_name - nome de restrição de PK
  • colunas - lista de colunas PK separadas por ','
  • table_name - nome da tabela PK

Linhas

  • Uma linha representa uma chave primária (tabela) em um banco de dados
  • Escopo das linhas: todas as restrições de PK em um banco de dados
  • Ordenado por esquema, nome de restrição de PK

Columns

  • schema_name - PK schema name
  • pk_name - PK constraint name
  • columns - list of PK columns separated with ','
  • table_name - PK table name

Rows

  • One row represents one primary key (table) in a database
  • Scope of rows: all PK constraints in a database
  • Ordered by schema, PK constraint name

Resultado - Sample results


Copyright © Dataedo.