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: | Variables Dinamicas |
Date: | 2008-01-09 19:22:52 |
Message-ID: | 200801091521765.SM01512@tecdtc05 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos,
Miren este fragmento, es una funcio escrita en Plpgsql que se le = manda un
parametro 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 aqui 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 campo
"rec.valor" no existe (cosa rara).
Que creen?
Gracias.
From | Date | Subject | |
---|---|---|---|
Next Message | Raul Andres Duque | 2008-01-09 19:47:20 | Ejecutar DLL desde postgresql |
Previous Message | Jesus Abreu | 2008-01-09 19:17:10 | Variable Dinamica |