Opa,

Uma solução poderia ser:

create or replace function teste(text,text)
returns text as $teste$
declare
comando text:=NULL;
begin
  comando:='update teste set ' || $1 || ' = ' || quote_literal($2);
  execute comando;
  return $1 || ' - ' || $2;
end;
$teste$ language plpgsql;

Esta pode ser mais incrementada :)

[]s


2008/5/2 Vinicius Santos - MSI <[EMAIL PROTECTED]>:

> create or replace function atualiza_dados(campo text) returns void as $$
> declare
> s text;
> begin
>  s := 'update dados set '||campo||' = 50';
>  execute s;
> end;
> $$ language plpgsql;
>
> se quizer passar o "valor" como parâmetro é só fazer igual ao campo.
>
> Vinicius dos Santos
> Analista de Desenvolvimento Júnior
> MSI SOLUÇÕES
> Av. Dr. Altino Arantes, 131 Sala 145 - 146 Centro - Ourinhos/Sp - Brasil
> Fone/Fax: +55 (14) 3324-8181  www.msisolucoes.com.br
>
>
> ----- Original Message -----
> From: "Carlos Antonio Pereira" <[EMAIL PROTECTED]>
> To: "Comunidade PostgreSQL Brasileira" <
> [email protected]>
> Sent: Friday, May 02, 2008 3:29 PM
> Subject: [pgbr-geral] Generalizar nome de campo
>
>
> Boa tarde, pessoal!
> Estou precisando criar uma função parecida com o seguinte:
>
> function atualiza_dados(campo)
>
>  update dados set campo = valor
>
> ou seja, preciso passar o nome do campo como parametro.... Isso é
> possivel?
>
> Att Carlos
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a