2009/9/14 Jean Domingues <[email protected]> > > Desculpem a minha ignorância. Bom, quanto a reescrever em pgPLSQL, creio > que > não seja possível porque eu não conseguiria acessar os campos do objeto new > (record) como um array.
Existe uma forma (não muito elegante) em plpgsql para fazer isso que você quer... 1) Crie uma tabela temporária com o conteúdo do NEW: create temp table w_meu_record_new as select new.*; 2) Através do catálogo podes percorrer os metadados dessa tabela temporária: select * from information_schema.columns where table_name = 'w_meu_record_new'; 3) Bom...agora a tua imaginação será responsável pelo resto da implementação... :-) > Bom, em C, se alguem puder me orientar, ou traduzir > a função, ela será muito útil para o grupo, pois é responsável por fazer > logging de alteração dos registros. Eu iniciei uma implementação em plpgsql (utilizando aquela forma *não elegante*)... faltam somente uns detalhes para ficar funcional... posso publicar o esboço inicial e se alguém quiser colaborar... Roberto, vc colocou tablelog [1], mas > nao pos o link. Se tiver eu agradeço. Roberto, desculpe a intromissão, mas creio que o link seja: http://pgfoundry.org/projects/tablelog/ O resutado da sql pedida é o seguinte: > > SELECT relname FROM pg_class where relfilenode = 'lanctos_contab'; > > ERRO: sintaxe de entrada é inválida para tipo oid: "lanctos_contab" > > Creio que houve um pequeno equívoco na query... o correto não seria: SELECT relname, relfilenode FROM pg_class where relname = 'lanctos_contab'; Isso porque a coluna relfilenode [1] é do tipo OID e foi passado um TEXT na expressão. Essa coluna é o nome do arquivo no sistema de arquivos onde ficam os dados da relação, mas é do tipo OID [2] e não uma string. [1] http://www.postgresql.org/docs/8.4/interactive/catalog-pg-class.html [2] http://www.postgresql.org/docs/8.4/interactive/datatype-oid.html Cordialmente, -- Fabrízio de Royes Mello >> Blog sobre TI: http://fabriziomello.blogspot.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
