Buenas amigos, estoy iniciando en este mundo de los Stores Procedures, para ello estoy haciendo unos ejercicios pero aqui un problema con el siguiente:
Lo estoy creando con SQL 2008 R2 y los ejecuto desde VB, igualmente los ejecuto desde el SQL mismo y me da el mismo error, aqui el SP:
Código SQL:
Ver originalSET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[CALCULO_PRECIO]
@FECHA DATE,
@MONTO INT,
@DIF_DIA INT,
@PORC INT,
@PUN INT OUTPUT,
@MONTO_TOT INT OUTPUT
AS
BEGIN
SET @DIF_DIA = DATEDIFF(DAY, CONVERT(DATE,getdate(),103), @FECHA)
IF @DIF_DIA > 30
SET @PORC = 20
ELSE
IF @DIF_DIA > 15
SET @PORC = 12
ELSE
IF @DIF_DIA > 7
SET @PORC = 8
ELSE
SET @PORC = 0
SET @PUN = @MONTO * @PORC / 100
SET @MONTO_TOT = @MONTO + @PUN
END
GO
Lo llamo pasando los 2 parametros que recibiria desde VB:
Código SQL:
Ver originalEXEC dbo.CALCULO_PRECIO '04-07-2013', 200
El error:
Procedure or function 'CALCULO_PRECIO' expects parameter '@PUN', which was not supplied.
Entiendo que esta esperando un valor en esa variable, pero esa variable esta seteada pasa su uso unicamente dentro del store.
Ok, cualquier ayuda estaré muy agradecido-
Gustav.