Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   crear cursor en stored procedure al estilo de sqlserver (https://www.clubdelphi.com/foros/showthread.php?t=10023)

Nose 07-05-2004 23:08:56

crear cursor en stored procedure al estilo de sqlserver
 
Hola a todos!

Hay alguna forma de declarar un cursor en un procedimiento almacenado, en la documentación LangRef sale un ejemplo pero es un sql embebido dentro de c, pero no funciona, no por lo menos en ibexpert personal el cual estoy usando.

La idea es no usar un query para recorrerlo en el pc del cliente, sino es el servidor y ejecurtar procesos largos y pesados y que no genere trafico en la red.

Esto no me resulta y es simple:

Cita:

create procedure prueba
as
begin
declare c cursor for select * from movf29;
end
Alguien podria darme una mano o recomendación para esto?

Gracias

jachguate 07-05-2004 23:25:44

A mi me parece mas práctico su uso asi: (por cierto no se como se llama... quizas cursor implicito :p)

Código SQL [-]
  for Select campos
        from tablas
       where condiciones
        into :variables do
  Begin
    // ProcesamientoDelRegistro
    :variable... 
  End

Hasta luego.

;)

Nose 08-05-2004 18:40:03

Hola!

Gracias por responder.

La idea es por general que en sqlserver usamos son cursores para traspasar valores a tablas temporales, hacer algun proceso con ellas, como inserciones, borrados, actualizar y luego traspasarlos a esos datos de vuelta.

¿Se puede hacer tal cosa en firebirds?

kinobi 08-05-2004 18:45:39

Hola,

Cita:

Empezado por Nose
¿Se puede hacer tal cosa en firebirds?

La respuesta, genérica al igual que la pregunta, es sí.

El ejemplo de Juan Antonio te permite ver que la sentencia FOR SELECT... crea un cursor que recorre (automáticamente) todos los registros del mismo. Puedes hacer lo que quieras (es lo que Juan Antonio llama: // ProcesamientoDelRegistro) con el registro que esté activo en esa interación del bucle.

Saludos.

Nose 10-05-2004 18:07:32

Gracias, Kinobi!

Pues, era algo que temía, tendrá que hacerse de esa manera, pues se ve poderosa la instrucción

Gracias


La franja horaria es GMT +2. Ahora son las 16:25:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi