Re: SQL Dinámica

From: Gunnar Wolf <gwolf(at)gwolf(dot)org>
To: daly santana sanchez <daly(at)inicia(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: SQL Dinámica
Date: 2006-04-20 21:09:54
Message-ID: 20060420210954.GL12877@gwolf.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

daly santana sanchez dijo [Mon, Apr 17, 2006 at 05:19:59PM +0100]:
> Hola!
> Quiero hacer una consulta dinámica, en un procedimiento almacenado.
> La consulta es bastante sencilla: select id,nombre from tabla where id in(1,2,4,7,9);
> los valores: (1,2,4,7,9); los debo pasar por parámetro. lo estoy pasando
> como ristra(varchar)
>
> la idea es poder ejecutar la select según los parámetros recibidos por parámetros.
> 'select id,nombre from tabla where id in (' || parametro || ')';
> He probado a poner la instrucción con comillas simples en un cursor pero
> no funciona.
> Sabeis como puedo crear la consulta de forma dinámica.
> Saludos

Hmh... No me suena óptimo, pero hacer una búsqueda utilizando
expresiones regulares podría resolverte el problema - Claro, cualquier
índice que puedas tener sobre el campo va a resultar inútil. Ejemplo:

SELECT id, nombre FROM tabla WHERE id ~ '^(1\|2\|4\|7\|9)$';

Saludos,

--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Gonzalez 2006-04-20 21:39:44 Re: Bug ejecutando initdb (CVS version)
Previous Message Gunnar Wolf 2006-04-20 21:05:55 Re: Es posible un Link entre Oracle y Postgresql?