Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Cargar campos de dos tablas en un procedimiento SQL Server (https://www.clubdelphi.com/foros/showthread.php?t=58010)

Jose Roman 04-07-2008 17:39:57

Cargar campos de dos tablas en un procedimiento SQL Server
 
Hola a todos,Buano resulta que estoy realizando una consulta a travez de un procedimiento almacenado en SQL SERVER recorriendo los registros de la TABLA_1, funciona bien, pero resulta que en el mismo procedimiento deseo seguir con otra consulta de la TABLA_2, que debo hacer, pues no se como utilizar de nuevo el cursor declarado, declaro un nuevo cursor para la tabla_2, pero resulta que el ejecutar el procedimiento solo me muestra los registros de la TABLA_2 y no registros de la TABLA_1 con los registros de la TABLA_2.Gracias

poliburro 04-07-2008 18:30:51

tendrás que declarar dos cursores, una pregunta deseas obtener dos datasets desde tu SP?

Jose Roman 04-07-2008 18:48:19

Gracias por responder, solo deseo un DataSet, aqui esta la sintaxis del procedimiento:

ALTER PROCEDURE MiEnsayo
@Codi as char(6) output, @Nomb as varchar(30) output,
@Reci as varchar(12) output, @Valo as varchar(10) output,
@Apli as varchar(12) output, @Cons as varchar(10) output
AS
BEGIN
-- CORRESPONDE A LOS RECIBOS DEL DIA
declare Recibos cursor for
select ESTUDI,NOMBRE,cast(ID_REC as varchar(10)),
cast(VR_REC as varchar(10)),cast(FACTUR AS VARCHAR(10)),
cast(CONSIG as varchar(10)),ANULA
from DIARECI,ALUMNO
where ID_ALU = ESTUDI
order by ID_REC
declare @Anul as char(1)
open Recibos
fetch next from Recibos
into @Codi,@Nomb,@Reci,@Valo,@Apli,@Cons,@Anul
while( @@fetch_status = 0)
begin
set @Reci = 'RC ' + @Reci
If @Anul = '1'
begin
set @Valo = 'ANULADO'
set @Apli = ''
Set @Cons = ''
end
If @Anul = '0'
set @Apli = 'FA ' + @Apli
fetch next from Recibos
into @Codi,@Nomb,@Reci,@Valo,@Apli,@Cons,@Anul
end
close Recibos
deallocate Recibos

-- CORRESPONDE A LAS NOTAS CREDITO
set Notas cursor for
select ESTUDI,NOMBRE,cast(ID_NC as varchar(10)),
cast(VR_NC as varchar(10)),cast(FACTU AS VARCHAR(10)),ESTUDI
from NOTASCR,MESFACT,ALUMNO
where (ID_FAC = FACTU) and (ID_ALU = ESTUDI) and APLICA = 'P'
order by ID_NC
open Notas
fetch next from Notas
into @Codi,@Nomb,@Reci,@Valo,@Apli,@Cons
while( @@fetch_status = 0)
begin
set @Reci = 'NC ' + @Reci
set @Cons = ''
fetch next from Notas
into @Codi,@Nomb,@Reci,@Valo,@Apli,@Cons
end
close Notas
deallocate Notas
END

La consulta solo me arroja los registros de la parte CORRESPONDE A LAS NOTAS CREDITO, pero no me da los registros de CORRESPONDE A LOS RECIBOS DEL DIA, y deseo que arroje los registros de los RECIBOS y NOTAS.


La franja horaria es GMT +2. Ahora son las 07:13:59.

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