/****** Object: StoredProcedure [dbo].[spDeleteChar] Script Date: 11/17/2010 14:36:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* ??? ?? */
CREATE PROC [dbo].[spDeleteChar]
@AID int,
@CharNum smallint,
@CharName varchar(24)
AS
DECLARE @CID int
DECLARE @CashItemCount int
SELECT @CID=CID FROM Character WITH (nolock) WHERE AID=@AID and CharNum=@CharNum
IF (@CID IS NULL)
BEGIN
return (-1)
END
SELECT @CashItemCount=COUNT(*) FROM CharacterItem(nolock) WHERE CID=@CID AND ItemID>=500000
IF (@CashItemCount > 0) OR
(EXISTS (SELECT TOP 1 CLID FROM ClanMember WHERE CID=@CID))
BEGIN
return (-1)
END
BEGIN TRAN
UPDATE Character SET CharNum = -1, DeleteFlag = 1, Name='', DeleteName=@CharName
WHERE AID=@AID AND CharNum=@CharNum AND Name=@CharName
IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
ROLLBACK TRAN
RETURN (-1)
END
INSERT INTO CharacterMakingLog(AID, CharName, Type, Date)
VALUES(@AID, @CharName, '??', GETDATE())
IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN
ROLLBACK TRAN
RETURN (-1)
END
COMMIT TRAN
SELECT 1 AS Ret