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 16-08-2006
pichi Vignola pichi Vignola is offline
Miembro
 
Registrado: abr 2006
Posts: 25
Poder: 0
pichi Vignola Va por buen camino
Procedimiento Almacenado

Hola compañeros del Foro...

Estoy iniciandome en el tema de los procedimientos almacenados y quiciera saber si un procedimiento almacenado puede devolver màs de un registro con resultados. Por ejemplo, tenemos una tabla con las cuotas que han pagado los socios y otra con los datos personales de los socios. Por cada socio tenemos una o màs cuotas pagas o registradas. Se puede hacer un procedimiento que me muestre el nombre de cada socio y la suma o el monto total de las cuotas pagas. Me tendrà que mostrar tantos registros como socio tenga la tabla y el monto.


Saludos y gracias....
Responder Con Cita
  #2  
Antiguo 17-08-2006
bismarck_sierra bismarck_sierra is offline
Miembro
 
Registrado: ene 2004
Ubicación: Morelia, Michoacán, México
Posts: 70
Poder: 21
bismarck_sierra Va por buen camino
Que tal

Te recomiendo que descargues la Cara Oculta del C++ Builder, ahi viene bien explicado para empezar con los procedimientos almacenados en Interbase, ya sólo tendrías que ver algunas mejoras que se hicieron en Firebird 1.5 que no son muchas pero eso si muy útiles.

http://www.classiquecentral.com/dscb4.zip

En la página 99 empieza con los SP, y en la página 106 "Procedimientos que devuelven un conjunto de datos"

Espero te sirva

Saludos
Bismarck
Responder Con Cita
  #3  
Antiguo 17-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Si... claro que si.

Se trata de capturar los valores de un registro y guardarlo en variables (bien locales, o bien los parámetros de salida), hacer la suma de cuotas y despues devolver los datos al ordenador que los solicita (suspend)
Código SQL [-]
CREATE PROCEDURE TOTALCUOTA 
RETURNS (
   NombreCliente varchar(80),
    TOTAL NUMERIC(10,2)
)
AS
DECLARE VARIABLE codCliente INTEGER;
begin
   for Select Nombre, codigo from Clientes
   into :NombreCliente, :CodCliente do
   begin
    SELECT SUM(IMPORTE)  FROM cuotas
    WHERE cuotas.CodigoCliente = :codCliente
    INTO :Total;
  
    suspend;
   end;
end

...Espero se entienda. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, 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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
procedimiento almacenado kejos MS SQL Server 3 02-09-2008 17:39:22
Procedimiento almacenado LucianoRey MS SQL Server 2 23-08-2005 00:37:06
Procedimiento Almacenado scooterjgm Conexión con bases de datos 5 18-01-2005 18:21:32
Procedimiento Almacenado Ulises Providers 3 30-01-2004 18:14:58
procedimiento almacenado haron Firebird e Interbase 2 29-09-2003 01:09:56


La franja horaria es GMT +2. Ahora son las 01:01:27.


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