terça-feira, 11 de agosto de 2015

Listando as Colunas de uma Tabela no Oracle

Olá, Bom Dia Galera!!!

Vamos ver os comandos para listar todas as colunas de uma tabela no Oracle, identificando as chaves primárias, as chaves estrangeiras, o tipo de dado, tamanho do campo, bem como se ele aceita nulo ou não.

Tendo em mãos o nome da tabela desejada, basta executar o comando abaixo:

Vamos ao comando?
SELECT A.COLUMN_NAME || ' (' || CASE WHEN ((SELECT COUNT(1) 
                                            FROM ALL_CONS_COLUMNS AA 
                                            LEFT JOIN ALL_CONSTRAINTS BB ON AA.CONSTRAINT_NAME = BB.CONSTRAINT_NAME
                                            WHERE BB.CONSTRAINT_TYPE = 'P'
                                              AND AA.TABLE_NAME = A.TABLE_NAME 
                                              AND AA.COLUMN_NAME = A.COLUMN_NAME) > 0) THEN 'PK, ' ELSE '' END ||
       CASE WHEN ((SELECT COUNT(1) 
                   FROM ALL_CONS_COLUMNS AA 
                   LEFT JOIN ALL_CONSTRAINTS BB ON AA.CONSTRAINT_NAME = BB.CONSTRAINT_NAME
                   WHERE BB.CONSTRAINT_TYPE = 'R'
                     AND AA.TABLE_NAME = A.TABLE_NAME 
                     AND AA.COLUMN_NAME = A.COLUMN_NAME) > 0) THEN 'FK, ' ELSE '' END ||
       DATA_TYPE ||
       CASE WHEN (A.CHAR_COL_DECL_LENGTH IS NOT NULL) THEN  '(' || A.CHAR_COL_DECL_LENGTH || '), ' ELSE ', ' END ||
       CASE WHEN A.NULLABLE = 'N' THEN 'Não Nulo' ELSE 'Nulo' END ||
       ')' AS Coluna
FROM ALL_TAB_COLUMNS A
WHERE A.OWNER = 'ALFACONTROL'  -- Nome da TableSpace
  AND A.TABLE_NAME = 'USUARIO'  -- Nome da Tabela

Prontinho, aí estão todas as colunas com as devidas informações de tamanho, tipo de dado, etc.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

Nenhum comentário:

Postar um comentário