2011/11/10 Marllos <[email protected]>
>
> Foi mal amigo....
> Na verdade eu quero é atribuir um valor a chave primária, mas fazendo
> refencia dinamica a chave.
>
Uma coisa que posso ter passado na discussão, mas sua chave é simples
ou composta?
Em plpgsql você realmente não conseguirá isso, a não ser que você
utilize o mesmo nome do campo em todas as tabelas. Como os nomes são
diferentes, como você especificou, apenas com alguma outra pl mesmo,
como pltcl. Segue exemplo:
CREATE OR REPLACE FUNCTION "fun_trg" (
)
RETURNS trigger AS
$body$
spi_exec -count 1 "SELECT a.attname as col
FROM pg_class c,
pg_attribute a,
pg_index i
WHERE c.oid = i.indrelid AND
a.attrelid = i.indexrelid AND
not a.attisdropped AND
a.attnum > 0 AND
i.indisprimary AND
c.oid = '$TG_relid'"
spi_exec -count 1 "SELECT uuid_generate_v4() as c"
set NEW($col) $c
return [array get NEW]
$body$
LANGUAGE 'pltcl'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral