- Joined
- Jun 28, 2013
- Messages
- 147
- Reaction score
- 13
I use this
But mssql give me errorUSE [C9World]
GO
/****** Object: StoredProcedure [Game].[UspAddPcMoney] Script Date: 11/26/2015 21:50:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/******************************************************************************
** Name: UspAddPcMoney
** Desc: 특정 PC 의 개인 소지금에 일정 금액을 증/감
**
** Auth: B4nFter
** Date: 2008-04-21
*******************************************************************************
** Change History
*******************************************************************************
** Date: Auth: Desc:
** -------- -------- ---------------------------------------
** 2009-03-26 B4nFter 개인 소지금 테이블 변경 (Game.TblPcStat → Game.TblPcInfo)
** 2009-03-05 JUDY 개인 소지금 값을 업데이트시 받을 수 있도록 변경
** 2008-04-25 B4nFter 증/감 을 동시에 하도록 수정
** 2009-08-17 김석천 with(updlock)삭제
*******************************************************************************/
ALTER PROCEDURE [Game].[UspAddPcMoney]
@pPcNo BIGINT, -- PC 번호
@paddMoney INT OUTPUT, -- 가산 금액 (+/-) (출력)
@pMaxMoney INT -- 최대 금액
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
DECLARE @AerrNo INT
DECLARE @aCurMoney INT
SET @AerrNo = 0
SET @aCurMoney = 0
-- PC 가 존재하는지 여부 체크
IF NOT EXISTS(
SELECT *
FROM Game.TblPcBase
WHERE cPcNo = @pPcNo
AND cDateDel = '1900-01-01'
)
BEGIN
SET @AerrNo = 2 -- PC가 존재하지 않음
GOTO LABEL_END2
END
SELECT
@aCurMoney = cMoney
FROM Game.TblPcInfo
WHERE cPcNo = @pPcNo
IF ((@@ERROR <> 0) OR (@@ROWCOUNT <= 0))
BEGIN
SET @AerrNo = 2 -- PC가 존재하지 않음
GOTO LABEL_END1
END
-- 제한 금액 도달여부 체크
IF (0 < @paddMoney)
BEGIN
SET @paddMoney = @paddMoney * 100
-- 현재 금액 + 가산 금액 (+) > 최대 금액 인지 체크
IF (@aCurMoney + @paddMoney > @pMaxMoney)
BEGIN
SET @AerrNo = 3 -- 최고 금액 제한 도달
GOTO LABEL_END1
END
END
ELSE
BEGIN
-- 현재 금액 + 가산 금액 (-) < 0 인지 체크
IF (@aCurMoney + @paddMoney < 0)
BEGIN
SET @AerrNo = 4 -- 최저 금액 제한 도달
GOTO LABEL_END1
END
END
-- 소지 금액 갱신
UPDATE Game.TblPcInfo
SET
@paddMoney =
cMoney = @aCurMoney + @paddMoney
WHERE cPcNo = @pPcNo
IF ((@@ERROR <> 0) OR (@@ROWCOUNT <= 0))
BEGIN
SET @AerrNo = 1 -- SQL 내부오류
GOTO LABEL_END1
END
LABEL_END1:
IF (0 <> @AerrNo)
BEGIN
SET @paddMoney = @aCurMoney
END
LABEL_END2:
RETURN @AerrNo)
How to solve this?Incorrect syntax near ')'.