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.
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
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
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