PDA

Ver la Versión Completa : Consultas dinámicas en procedimientos almacenados


sur-se
15-11-2004, 09:49:46
Hola. Utilizo Firebird 1.5, Delphi 5.0 y FibPlus. En consultas SQL podemos insertar consultas dinámicas construidas en tiempo de ejecución de la forma:
componentesql.sql.add('selec .....');
componentesql.execquery;
donde el texto de la consulta SQL es generado de forma dinámica en función de la selección que realize el usuario.
Ahora bien, necesitaría llevar este esquema a un procedimiento almacenado, es decir, poder ejecutar consultas a partir de un string pasado como parámetro del procedimiento. Creo que no se puede hacer, pero quizás haya alguna instrucción que no conozca y que permita hacer eso.

Otra opción sería ir creando el procedimiento de forma dinámica, pero esa no me parece la solución correcta.

Salu2.

frudolph
15-11-2004, 18:04:24
Si revisás la documentación de Firebird 1.5, verás que te permite construir procedimientos almacenados donde se lancen sentencias SQL construidas on-fly (al vuelo).

La única restricción está en que los parámetros de salida (estructura del conjunto de resultados), deberán ser siempre los mismos (por ej.: campo1 as varchar(50), campo2 as integer, etc.).

Deberías revisar está documentación para ver también los cuidados que debes tener al crear un procedimiento de este tipo.