
llamar un SP desde otro Sp y que devuelva un valor
Publicado por pablo (4 intervenciones) el 20/10/2015 15:32:42
Estimados: es la primera vez que les hago una consulta. Aclaro busqué en el foro para ver si ya estaba resuelta, pero al menos yo , no hallé lo que buscaba.
tengo un SP que calcula el descuento de alquiler de equipos que se le va a hacer a un proveedor, en base a sus vtas del mes anterior. (entre otras cosas)
El store VtasMesanterior es el siguiente:
lo que quiero hacer es, a este SP, llamarlo desde el SP "Principal" y guardar en una variable vtas, el valor devuelto, para luego compararla con otros valores.
Y no estoy seguro como hacerlo.
desde el SP Principal: lo llamo asi
exec SP_VtasPDVMesAnterior @pdv
pero si le agrego la variable de salida vtas, me marca error por demasiados parametros.
si alguien me da una mano, estaré muy agradecido
desde ya muchas gracias !!!
tengo un SP que calcula el descuento de alquiler de equipos que se le va a hacer a un proveedor, en base a sus vtas del mes anterior. (entre otras cosas)
El store VtasMesanterior es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ALTER PROCEDURE [dbo].[SP_VtasPDVMesAnterior]
@IdPdv as NVARCHAR(10),
@vtas as int output
AS
BEGIN
DECLARE @start DATETIME
DECLARE @end DATETIME
SET @start =DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
SET @end = DATEADD(ms,-3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)))
SELECT @vtas= SUM(isnull(CASE IdDetalle WHEN '2' THEN facial ELSE -facial END,0))
FROM MovimientosPdV WITH(NOLOCK)
WHERE IdPdV = @IdPdv
AND IdDetalle IN ('2','3')
AND Fecha BETWEEN @start AND @end
END
lo que quiero hacer es, a este SP, llamarlo desde el SP "Principal" y guardar en una variable vtas, el valor devuelto, para luego compararla con otros valores.
Y no estoy seguro como hacerlo.
desde el SP Principal: lo llamo asi
exec SP_VtasPDVMesAnterior @pdv
pero si le agrego la variable de salida vtas, me marca error por demasiados parametros.
si alguien me da una mano, estaré muy agradecido
desde ya muchas gracias !!!
Valora esta pregunta


0