Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adrianrb

Catálogo do sistema

Recommended Posts

Tardes...Como faço para listar as colunas de uma tabela, com um select?No SQL Server faço assim:select c.name from sysobjects o, syscolumns cwhere o.id = c.idJá vi q no postgres tem as tabelas pg_class, pg_tables e pg_attributes,mas não "peguei" como usar os (imagino) OIDs para fazer algocomo o acima.Algum guru por aqui??? 8-)Adrian

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente esta consulta acredito que ela tem os dados que você precisaSELECT a.attname as coluna, c.relname as tabela, a.attnotnull as nulo, ct.conname as nome_chave, c_ref.relname as tbreferencia, af.attname as coluna_refFROM pg_class as c left join pg_attribute as a on (c.oid=a.attrelid) left join pg_constraint as ct on (ct.conrelid=a.attrelid and ct.conkey[1] = a.attnum ) left JOIN pg_namespace nf ON (nf.oid = c.relnamespace) left join pg_class as c_ref on (ct.confrelid = c_ref.oid AND c_ref.relkind = 'r') left JOIN pg_attribute af ON (af.attrelid = ct.confrelid AND af.attnum = ct.confkey[1])WHERE c.relname='aqui o nome da tabela que voce procura' AND a.attnum > 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.