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
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? |