Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Question 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

Última edición por Nose fecha: 07-05-2004 a las 23:11:08.
Responder Con Cita
  #2  
Antiguo 07-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

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

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

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 07-05-2004 a las 23:28:19.
Responder Con Cita
  #3  
Antiguo 08-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
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?
Responder Con Cita
  #4  
Antiguo 08-05-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 10-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Gracias, Kinobi!

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

Gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:49:34.


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