USE [jxbxtest]
GO
/****** Object:  StoredProcedure [dbo].[SubtractSizeCunt]    Script Date: 06/04/2013 21:57:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE  [dbo].[SubtractSizeCunt]
(
@GoodsID int = 0,
@One int = 0,
@Two int = 0,
@Three int = 0,
@Four int = 0,
@Five int = 0,
@Six int = 0,
@Seven int = 0,
@Eight int = 0,
@Nine int = 0,
@Ten int = 0
)

AS
 SET NOCOUNT ON 
DECLARE @NewOne int set @NewOne = 0
DECLARE @NewTwo int set @NewTwo = 0
DECLARE @NewThree int set  @NewThree = 0
DECLARE @NewFour int set @NewFour = 0
DECLARE @NewFive int set @NewFive = 0
DECLARE @NewSix int set @NewSix = 0
DECLARE @NewSeven int set  @NewSeven= 0
DECLARE @NewEight int set  @NewEight= 0
DECLARE @NewNine int set @NewNine = 0
DECLARE @NewTen int set @NewTen = 0
DECLARE @OldOne int set @OldOne = 0
DECLARE @OldTwo int set @OldTwo = 0
DECLARE @OldThree int set  @OldThree = 0
DECLARE @OldFour int set @OldFour = 0
DECLARE @OldFive int set @OldFive = 0
DECLARE @OldSix int set @OldSix = 0
DECLARE @OldSeven int set  @OldSeven= 0
DECLARE @OldEight int set  @OldEight= 0
DECLARE @OldNine int set @OldNine = 0
DECLARE @OldTen int set @OldTen = 0
BEGIN TRANSACTION
SELECT
@OldOne=One,@OldTwo=Two,@OldThree=Three,@OldFour=Four,@OldFive=Five,@OldSix=Six,@OldSeven=Seven,
@OldEight=Eight,
@OldNine=Nine,
@OldTen=Ten
 FROM
 tb_GoodsSizeCunt
 WITH (UPDLOCK)/*锁定*/
 WHERE
 GoodsID = @GoodsID set @NewOne = @OldOne - @One 
 set @NewTwo = @OldTwo - @Two 
 set @NewThree = @OldThree-@Three 
 set @NewFour = @OldFour -@Four 
 set @NewFive = @OldFive- @Five 
 set @NewSix = @OldSix - @Six 
 set @NewSeven = @OldSeven -@Seven 
 set @NewEight = @OldEight- @Eight 
 set @NewNine = @OldNine - @Nine 
 set @NewTen= @OldTen - @Ten  UPDATE
tb_GoodsSizeCunt
 SET
One=@NewOne,Two=@NewTwo,Three=@NewThree,Four=@NewFour,Five=@NewFive,Six=@NewSix,Seven=@NewSeven,Eight=@NewEight,Nine=@NewNine,Ten=@NewTen
 WHERE
  GoodsID = @GoodsID
  COMMIT TRANSACTION 
RETURNSQL并发