Boas ... Eu já envei este e-mail, mas como tive alguns problemas e não estava recebendo e-mails da lista, pode ser que ninguém tenha recebido... Ai vai novamente para ver se alguém pode me ajudar ...
Seguinte ... Preciso fazer um select de todas as tabelas do meu BD (pg_class) , onde estas venha na seguinte ordem: As tabelas que possuam FK , devem vir após sua tabela relacionada ... (ORDEM para que no INSERT não haja problemas com chaves estrangeiras)... Ex: tenho as tabelas:pessoa, pessoa_endereco, endereco_tipo, cidade e estado. as tabelas deveriam vir na seguinte ordem : estado ou endereco tipo (Que não possuem nenhuma FK) cidade (Que possui a FK do Estado) pessoa_endereco (Que possui as FK's de endereco_tipo, cidade e estado) pessoa (Que possui FK de pessoa_endereco) * Isso é só um exemplo, pois em minha base possuo mais de 200 tabelas, quase todas elas relacionadas. Através da pg_trigger eu consigo pegar as tabelas relacionadas com o select : SELECT T.relname,(SELECT relname FROM pg_class WHERE oid = TG.tgrelid) FROM pg_trigger TG INNER JOIN pg_class T ON T.oid = TG.tgconstrrelid AND t.relname = 'pessoa' INNER JOIN pg_namespace SCH ON SCH.oid = T.relnamespace AND SCH.nspname = 'public'; Mas estou meio perdido de como montar uma função para ordenar isso... Teria que ser algo assim : SELECT * FROM pg_class ORDER BY tablenoconstraint(); ou SELECT tablenoconstraint(); Bem.... Desde já agradeço ... Att: Thiago Risso _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
