store procedure

tema enviado por miguel en SQL Server
tema iniciado el 12/05/2006
hola amigos, deseo me ayuden en lo siguiente: tengo una pag. donde programo unos servicios, tengo capturado el IdServicio y la Cantidad, lo que deseo es mostrar la cantidad de servicios realizados y el total, por ejemplo : Servicio = 1, Cantidad = 5, Realizados = 3, Restantes = 2, he creado un store procedure, pero este solo resta la primera vez que hago la operacion.
tener en cunta que el campo Realizados debe incrementar en 1 cada vez que se realiza un servicio.
si alguno de Uds. me pudiera ayudar se lo agradezco de antemano.

aqui el store:

ALTER PROCEDURE EBD_DetServCont_Insert
@IdDetServC Int Output,
@IdServicio Int,
@IdContrato Int,
@IdSucursal Int,
@Cantidad Int,
@Realizados Int,
@Total Int
AS
INSERT INTO DetServCont (IdServicio, IdContrato,
IdSucursal, Cantidad, Realizados, Total)
VALUES (@IdServicio, @IdContrato, @IdSucursal,
@Cantidad, @Realizados, @Total)
SET @IdDetServC = @@Identity

IF @@ERROR = 0
BEGIN
UPDATE DetServCont
SET Total = (Cantidad-1)
WHERE IdContrato = @IdContrato
AND IdSucursal = @IdSucursal
AND IdDetServC = @IdDetServC
END

IF @@ERROR = 0
BEGIN
UPDATE DetServCont
SET Realizados = (@Cantidad-Total)
WHERE IdContrato = @IdContrato
AND IdSucursal = @IdSucursal
AND IdDetServC = @IdDetServC
END