GARANTIR DESCONTO

Fórum Tabelas de sistema #26422

23/09/2005

0

Bom dia,

Preciso criar um programa que mostre na tela, quais são as tabelas com seus respectivos campos já criados no banco de dados. Me disseram que para isso eu preciso consultar as tabelas de sistema do Postgre.
Esta informação está correta? Existe algum MER com essas tabelas na documentação do Postgre?

Agradeço desde já,
Keidy Marcelo


Keidysakamoto

Keidysakamoto

Responder

Posts

23/09/2005

Keidysakamoto

descobri que no oracle o comando é

-- RETORNA AS TABELAS
SELECT TABLE_NAME FROM USER_TABLES

-- RETORNA OS CAMPOS
DESC <NOME DA TABELA>

Alguém sabe de algo semelhante no postgre?


Responder

Gostei + 0

23/09/2005

Keidysakamoto

achei o comando que retorna as tabelas:

select table_name from pg_tables;

Agora só falta o que me retorna os campos


Responder

Gostei + 0

23/09/2005

Keidysakamoto

ainda não decifrei, mas funciona:

Esse retorna os campos:


SELECT pg_attribute.attnum AS index,
attname AS field,
typname AS type,
atttypmod-4 as length,
NOT attnotnull AS ´null´,
adsrc AS def
FROM pg_attribute,
pg_class,
pg_type,
pg_attrdef
WHERE pg_class.oid=attrelid
AND pg_type.oid=atttypid
AND attnum>0
AND pg_class.oid=adrelid
AND adnum=attnum
AND atthasdef=´t´
AND lower(relname)=´tab1´
UNION
SELECT pg_attribute.attnum AS index,
attname AS field,
typname AS type,
atttypmod-4 as length,
NOT attnotnull AS ´null´,
´´ AS def
FROM pg_attribute,
pg_class,
pg_type
WHERE pg_class.oid=attrelid
AND pg_type.oid=atttypid
AND attnum>0
AND atthasdef=´f´
AND lower(relname)= <NOME DA TABELA> ;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar