Fórum Tabelas de sistema #26422
23/09/2005
0
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
Curtir tópico
+ 0Posts
23/09/2005
Keidysakamoto
-- RETORNA AS TABELAS
SELECT TABLE_NAME FROM USER_TABLES
-- RETORNA OS CAMPOS
DESC <NOME DA TABELA>
Alguém sabe de algo semelhante no postgre?
Gostei + 0
23/09/2005
Keidysakamoto
select table_name from pg_tables;
Agora só falta o que me retorna os campos
Gostei + 0
23/09/2005
Keidysakamoto
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> ;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)