Variable Dinamica

From: "Jesus Abreu" <jabreu(at)aaa(dot)com(dot)do>
To: "'Alvaro Herrera'" <alvherre(at)commandprompt(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Variable Dinamica
Date: 2008-01-09 19:17:10
Message-ID: 200801091516859.SM01512@tecdtc05
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos,

Miren este fragmento, es una función escrita en Plpgsql que se le manda un
parámetro de cadena como consulta y otra variable que tiene como valor el
nombre de un campo de esa cadena sql:

Supongamos que:
sqlstring := 'select id, nombre, valor from table1';
campodin := 'valor';

create function func(sqltring varchar, campodin varchar)
returns integer as $t$

declare
rec record;

begin

for rec in execute string loop
execute 'insert into tabletmp (c1) values (' || rec.campodin ||
')';
end loop;
return 0;

end; $t$
language plpgsql;

Miren mi fatalidad aquí es rec.campodin, me da error de que el campo
"campodin" no existe en rec (cosa logica), entonces cambio eso por esto:
quote_ident('rec.' || campodin) entonces me sale el error de que el campor
"rec.valor" no existe (cosa rara).

Que creen?

Gracias.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jesus Abreu 2008-01-09 19:22:52 Variables Dinamicas
Previous Message Raul Andres Duque 2008-01-09 19:14:09 Ejecutar DLL desde postgresql