From: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
---|---|
To: | Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx> |
Cc: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Nombre de tabla entre parentesis |
Date: | 2008-01-14 16:55:39 |
Message-ID: | 478B940B.6010802@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Raul Andres Duque escribió:
>
>
>
>> Oswaldo Hernández escribió:
>>> Alvaro Herrera escribió:
>...
>
> Y si generalizas y siempre tu aplicación parametrizas es una sentencia
> SQL ... por ejemplo si quieres la tabla "a" debes parametrizar "select *
> from a" (podría ser transparente para el usuario que parametriza ya que
> tu aplicación sería la que haga la "conversión") ... lo que no sé es si
> se pierde algo de performance entre:
>
> select * from a
>
> y
>
> select * from (select * from a)
>
> Aunque lo que comenta Alvaro sería más sencillo de manajer: Siempre
> manejar un alias de la tabla/consulta para que no te importe el tema de
> si pueden ir o no los parentesis.
>
El problema es que la funcion puede recibir de forma indistinta un nombre de tabla o una sentencia
SQL. Esperaba que postgres resolviera el problema ejecutandolo como:
select * from (parametro) as a
pero no ha funcionado en el caso de tablas
De momento he resuelto el problema haciendo que la función consulte si el parametro existe como
tabla o vista en pg_class y segun esto pongo o no los parentesis.
Solo espero que la aplicación que utiliza esta función no envie el nombre de tabla con parentesis ;) .
Saludos.
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-01-14 17:36:40 | Re: problam instalacion postgis |
Previous Message | Raul Andres Duque | 2008-01-14 16:49:31 | Duda pl/perl |