FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con Stored Procedure Firebird
Buenos dias a todos y feliz año.
Queria hacer una consulta a los mas expertos con Firebird, el problema que tengo es que estoy intentando hacer un Stored Procedure con Firebird, estoy usando el IBExpert Personal Edition, y lo que estoy intentando hacer pero no consigo que me funcione es crear una select y que sea devuelta dentro de un cursor, es decir un estilo como el oracle. create procedure NEW_PROCEDURE (p_cursor ref cursor) IS BEGIN OPEN p_cursor FOR SELECT * FROM TABLA; END; He estado investigando con la ayuda del señor google, pero no e conseguido encontrar nada, por eso me dirijo a la gente que los utiliza. De antemano muchas gracias pos vuestra ayuda. |
#2
|
||||
|
||||
En Firebird/Interbase lo que podes hacer es crear procedimientos almacenados que te regresen multiples filas, con la ventaja de poder utilizar los procedimientos en consultas SQL.
Por ejemplo Código:
CREATE PROCEDURE Miprocedure(param1 type1, param2 type2) returns(campo1 type1, campo2 type2 etc.) begin FOR SELECT campo1, campo2 FROM tabla A WHERE A.campo1 = param1 and A.campo2 = param2 INTO :campo1, campo2 BEGIN suspend; END end Código:
SELECT campo1, campo2 FROM MiProcedure(:parametro1, :parametro2) |
#3
|
|||
|
|||
Muchas Gracias por la respuesta.
He probado el sistema que me has comentado y me funciona bien. Lo que yo me preguntaba era si es posible realizar un procedimiento que devuelda directamente un cursor con los datos sin tener que hacer despues de la creacion del procedimiento la select que llama a dicho procedimiento. No se si me e explicado bien jejeje. Pero muchas gracias por la respuesta. |
#4
|
||||
|
||||
Lo dicho por Kipow es muy cierto. Para complementar, solo comentar que en Firebird no existe ningún tipo equivalente al ref_cursor de Oracle.
Recuerdo haber escuchado sobre un proyecto llamado Firacle, o algo así... que pretendía implementar un diccionario de datos idéntico al de oracle, de manera que muchas aplicaciones realizadas para este corrieran sin problemas en firebird, quizás ellos se han planteado implementar algunas de estas cosas, como los ref_cursors o los packages. No puedo comentar mas, ni se si el proyecto sigue activo pues no le doy seguimiento. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Muchas Gracias por la aclaracion y por vuestra ayuda.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con Stored Procedure | Fita | Firebird e Interbase | 2 | 28-11-2007 01:28:03 |
Ayuda con Stored Procedure | gluglu | Conexión con bases de datos | 6 | 26-09-2007 14:20:53 |
Ayuda con Stored Procedure | Sudamericano | Firebird e Interbase | 13 | 09-06-2004 01:26:32 |
Ver los Stored Procedure | tgsistemas | SQL | 0 | 06-04-2004 17:18:22 |
Ayuda con Stored Procedure | tgsistemas | SQL | 2 | 30-03-2004 23:30:40 |
|