Re: Tabla Temporal con error2

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Sonia Malave <smalave(at)hidrobolivar(dot)com(dot)ve>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Tabla Temporal con error2
Date: 2007-06-28 20:16:44
Message-ID: 20070628201644.GB22200@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Sonia Malave escribió:
> Si me dices que $s$ es equivalente a comillas simples entonces ese debe
> ser el error, ya que toma como una cadena cada variable y en lugar del
> valor trata de meter es el nombre, como solucino eso?.

Efectivamente eso te iba a decir ... una idea seria que cerraras las
comillas antes de cada variable y pusieras el nombre de la variable
entre || para contatenar, asi

execute $s$ select .... $s$ || quote_literal(mi_variable) ||
$s$, $s$ || quote_literal(mi_otra_variable) || $s$,

etc. Pero es bastante incomodo. Una idea mejor: quizas declara una
variable de texto y haz algo asi

select into query $s$ select ... values (%, %, %) where ... $s$,
quote_literal(mi_variable), quote_literal(mi_otra_variable), ...
execute query;

etc. El truco es lograr que los % se expandan a los valores de las
variables.

Ojo, las invocaciones de quote_literal() son importantes para prevenir
problemas de inyeccion de SQL.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yacatematrix 2007-06-28 20:19:02 Re: EMS
Previous Message Sonia Malave 2007-06-28 20:01:08 Tabla Temporal con error2