Search For your dbo.spBuyBountyItem in your database and replace this ,
With this
Code:
USE [GunzDB]
GO
/****** Object: StoredProcedure [dbo].[spBuyBountyItem] Script Date: 1/10/2013 3:36:39 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[spBuyBountyItem]
-- ALTER PROC dbo.spBuyBountyItem
@CID INT,
@ItemID INT,
@ItemCount INT,
@Price INT,
@IsSpendableItem INT,
@RentHourPeriod INT = NULL
AS BEGIN
SET NOCOUNT ON
DECLARE @Bounty INT;
DECLARE @OrderCIID INT;
DECLARE @Cnt INT;
IF( @RentHourPeriod IS NULL ) BEGIN
SET @RentHourPeriod = 0;
END
DECLARE @CurDate DATETIME;
SET @CurDate = GETDATE();
BEGIN TRAN ----------------------------
-- Àܾװ˻ç => Bounty °¨¼Ò
UPDATE dbo.Character
SET BP = BP - @Price
WHERE CID = @CID
AND (BP - @Price >= 0);
IF( 0 <> @@ERROR OR 0 = @@ROWCOUNT ) BEGIN
ROLLBACK TRAN
SELECT -1 AS 'Ret'
RETURN;
END
IF( @IsSpendableItem = 1 ) BEGIN
-- ÀÌ¹Ì °®°í ÀÖ´ÂÁö È®ÀÎÇØº»´Ù.
SELECT @OrderCIID = CIID
FROM CharacterItem(NOLOCK)
WHERE CID = @CID
AND ItemID = @ItemID;
-- ÀÌ¹Ì °®°í ÀÖÁö ¾Ê´Ù¸é »õ·Î Ãß°¡ÇØÁØ´Ù.
IF( @OrderCIID IS NOT NULL ) BEGIN
UPDATE dbo.CharacterItem -- Item Ãß°¡
SET Cnt = Cnt + @ItemCount
WHERE CIID = @OrderCIID
AND CID = @CID;
IF( 0 <> @@ERROR OR 0 = @@ROWCOUNT ) BEGIN
ROLLBACK TRAN
SELECT -2 AS 'Ret'
RETURN;
END
END ELSE BEGIN
INSERT INTO CharacterItem (CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
Values (@CID, @ItemID, @CurDate, @CurDate, @RentHourPeriod, @ItemCount)
IF( 0 <> @@ERROR OR 0 = @@ROWCOUNT ) BEGIN
ROLLBACK TRAN
SELECT -3 AS 'Ret'
RETURN;
END
SELECT @OrderCIID = @@IDENTITY;
END
END
ELSE BEGIN
INSERT dbo.CharacterItem (CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
Values (@CID, @ItemID, @CurDate, @CurDate, @RentHourPeriod, @ItemCount)
SELECT @OrderCIID = @@IDENTITY;
IF( 0 <> @@ERROR OR 0 = @@ROWCOUNT ) BEGIN
ROLLBACK TRAN
SELECT -4 AS 'Ret'
RETURN;
END
END
-- Item ±¸¸Å·Î±× Ãß°¡
INSERT INTO ItemPurchaseLogByBounty (ItemID, CID, Date, Bounty, CharBounty, Type)
VALUES (@ItemID, @CID, @CurDate, @Price, @Bounty, '±¸ÀÔ')
IF( 0 <> @@ERROR OR 0 = @@ROWCOUNT ) BEGIN
ROLLBACK TRAN
SELECT -5 AS 'Ret'
RETURN;
END
COMMIT TRAN ----------------------------
SELECT 0 AS 'Ret', @OrderCIID AS 'ORDERCIID'
END
----------------------------------------------------------------------------------------------------------------------------------------
-- º¹±¸ Äõ¸®
/*
DROP PROC spBuyBountyItem
EXEC sp_rename 'BackUp_spBuyBountyItem', 'spBuyBountyItem'
*/