Como puedo recuperar esto en SQL

26/04/2004 - 16:36 por Gustavo | Informe spam
Estoy tratando de recuperar la siguiente resultado como parámetro de salida
de un SP
Pero no lo logró, me podrían indicar, si fuesen tan amables cual es la forma
correcta de hacerlo.

CREATE PROCEDURE sp_DCR
@cP MONEY OUTPUT, --VARIABLE DONDE QUIERO RECUPERAR LOS DATOS
@cOC MONEY OUTPUT, --VARIABLE DONDE QUIERO RECUPERAR LOS DATOS
@idO NVARCHAR(8),
@idI INT,
@Pr NVARCHAR(75),
@C NVARCHAR(50)
AS

SELECT guia.ProyectoDestino, DGuia.idMaterial, DGuia.Pre, DGuia.color,
sum(DGuia.CRP) as CantRec, --RESULTADO QUE QUIERO RECUPERAR
SUM(DGuia.CROC) AS CantOC -- RESULTADO QUE QUIERO RECUPERAR
FROM
DGuia INNER JOIN Guia ON DGuia.idMovimiento = Guia.idMovimiento
GROUP BY Guia.ProyectoDestino, DGuia.idMaterial, DGuia.Pre, DGuia.color
HAVING (guia.ProyectoDestino=@idO AND DGuia.idMaterial=@idOI AND
DGuia.Pre=@Pr AND DGuia.Color =@C)

Mil gracias
Gustavo
 

Leer las respuestas

#1 Jose Manuel Davila
26/04/2004 - 17:43 | Informe spam
te recomendaria que todas la variables de entrada las pusieras al principio
al final las de salida


CREATE PROCEDURE sp_DCR
@idO NVARCHAR(8),
@idI INT,
@Pr NVARCHAR(75),
@C NVARCHAR(50),

@cP MONEY OUTPUT, --VARIABLE DONDE QUIERO RECUPERAR LOS DATOS
@cOC MONEY OUTPUT --VARIABLE DONDE QUIERO RECUPERAR LOS DATOS

AS

SELECT guia.ProyectoDestino, DGuia.idMaterial, DGuia.Pre, DGuia.color,
@cP = sum(DGuia.CRP) ,
@cOC = sum(DGuia.CROC)
FROM
DGuia INNER JOIN Guia ON DGuia.idMovimiento = Guia.idMovimiento
GROUP BY Guia.ProyectoDestino, DGuia.idMaterial, DGuia.Pre, DGuia.color
HAVING (guia.ProyectoDestino=@idO AND DGuia.idMaterial=@idOI AND
DGuia.Pre=@Pr AND DGuia.Color =@C)


solo tinenes que ver que tu agrupacion este bien

en tu forma de windows, despues que ejecute el SP. bajas el valor a
variables locales antes de que pongas

Function fun_ejectua_sp () As Boolean
Dim cmd As New Command
fun_ejectua_sp = True
On Error GoTo HELL

Set cmd.ActiveConnection = cnn 'Esta es la conexión
activa
cmd.CommandType = adCmdStoredProc 'Aquí le indico a ADO
que se trata de un PA


cmd.CommandText = "sp_DCR" 'Abrir Procedimiento
Almacenado para Actualizar Cambios
cmd("@var_1") = var_local_1 ' variables de
entrada al sp
.
.
.

cmd.Execute

var_2 = cmd("@var_salida_sp") 'descarga el valor de las
variables de salida de tu sp a variables de tu programa
.
.
.


Set cmd = Nothing 'Liberar Memoria

Exit Function
HELL:
fun_ejectua_sp = False

End Function


un saludo


Sistemas (SIP)
Vianney
Aguascalientes Ags.
9710330, 9711250, 9181010
Bit_Grinder under nick
____________________________________________________________________________
_______________
Antes de Convertir un Problema hay que ver Si lo Hay, Si lo Hay Solucionarlo
sino no le quites el tiempo a los demas

Jose Manuel Davila
"Gustavo" escribió en el mensaje
news:
Estoy tratando de recuperar la siguiente resultado como parámetro de


salida
de un SP
Pero no lo logró, me podrían indicar, si fuesen tan amables cual es la


forma
correcta de hacerlo.

CREATE PROCEDURE sp_DCR
@cP MONEY OUTPUT, --VARIABLE DONDE QUIERO RECUPERAR LOS DATOS
@cOC MONEY OUTPUT, --VARIABLE DONDE QUIERO RECUPERAR LOS DATOS
@idO NVARCHAR(8),
@idI INT,
@Pr NVARCHAR(75),
@C NVARCHAR(50)
AS

SELECT guia.ProyectoDestino, DGuia.idMaterial, DGuia.Pre, DGuia.color,
sum(DGuia.CRP) as CantRec, --RESULTADO QUE QUIERO RECUPERAR
SUM(DGuia.CROC) AS CantOC -- RESULTADO QUE QUIERO RECUPERAR
FROM
DGuia INNER JOIN Guia ON DGuia.idMovimiento = Guia.idMovimiento
GROUP BY Guia.ProyectoDestino, DGuia.idMaterial, DGuia.Pre, DGuia.color
HAVING (guia.ProyectoDestino=@idO AND DGuia.idMaterial=@idOI AND
DGuia.Pre=@Pr AND DGuia.Color =@C)

Mil gracias
Gustavo


Preguntas similares