USE [C9World]
GO
/****** Object: StoredProcedure [Game].[UspSetGuildMarkState] Script Date: 12/16/2015 11:02:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/******************************************************************************
** Name: UspSetGuildMarkState
** Desc: 길드마크 심의 테이블 등록
**
** Auth: 채석현
** Date: 20111024
*******************************************************************************
** Change History
*******************************************************************************
** Date: Author: Description:
** -------- -------- ---------------------------------------
*******************************************************************************/
ALTER PROCEDURE [Game].[UspSetGuildMarkState]
@pGuildNo BIGINT,
@pGuildMark BINARY(4096),
@pGuildMarkState TINYINT
AS
SET NOCOUNT ON -- 설명 : 결과 레코드 셋을 반환 안 시킨다.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
--- 변수 선언
DECLARE
AerrNo INT,
@aRowCnt INT
--- 변수 초기화
SELECT
AerrNo = 0, @aRowCnt = 0 -- 한줄에 초기화
-- 길드 존재하는지 확인
IF NOT EXISTS (
SELECT *
FROM Game.TblGuildBase
WHERE cGuildNo = @pGuildNo
)
BEGIN
SET
AerrNo = 1 -- 존재하지 않는 길드
END
ELSE
BEGIN
IF EXISTS (
SELECT *
FROM Game.TblGuildMarkJudge
WHERE cGuildNo = @pGuildNo
)
BEGIN
UPDATE Game.TblGuildMarkJudge
SET cGuildMarkJudge = @pGuildMark, cGuildMarkJudgeState = 3
WHERE cGuildNo = @pGuildNo
IF EXISTS (
SELECT *
FROM Game.TblGuildMark
WHERE cGuildNo = @pGuildNo
)
BEGIN
UPDATE Game.TblGuildMark
SET cGuildMark = @pGuildMark
WHERE cGuildNo = @pGuildNo
END
ELSE
BEGIN
INSERT INTO Game.TblGuildMark (cGuildNo, cGuildMark)
VALUES (@pGuildNo, @pGuildMark)
END
END
-- 아무것도 없는 상태라면
ELSE
BEGIN
INSERT INTO Game.TblGuildMarkJudge (cGuildNo, cGuildMarkJudge, cGuildMarkJudgeState)
VALUES (@pGuildNo, @pGuildMark, 3)
IF EXISTS (
SELECT *
FROM Game.TblGuildMark
WHERE cGuildNo = @pGuildNo
)
BEGIN
UPDATE Game.TblGuildMark
SET cGuildMark = @pGuildMark
WHERE cGuildNo = @pGuildNo
END
ELSE
BEGIN
INSERT INTO Game.TblGuildMark (cGuildNo, cGuildMark)
VALUES (@pGuildNo, @pGuildMark)
END
END
SELECT
AerrNo = @@Error, @aRowCnt = @@RowCount
IF (@aRowCnt <> 1)
SET
AerrNo = 3 -- DB오류
END
OBS: will only work when you restart server, like you changed the logo , you will have to restart the server, for all the guilds . ( currently bugged )