53 lines
1.8 KiB
Transact-SQL
53 lines
1.8 KiB
Transact-SQL
CREATE PROCEDURE [dbo].[up_guild_disband]
|
|
@guild_id [uniqueidentifier],
|
|
@character_id [uniqueidentifier]
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
DECLARE @result_code INT;
|
|
|
|
SET @result_code = 1; --1 : 성공 / -1 : 프로시저 오류 / -2 : INSERT 실패 / -3 : UPDATE 실패
|
|
|
|
BEGIN TRY
|
|
|
|
BEGIN TRAN;
|
|
|
|
--DELETE FROM [dbo].[GuildMemberTable] WHERE guild_id = @guild_id
|
|
--Update [dbo].[GuildTable] set [name] = '___'+[name], [master_id] = NULL, [block_type]=1 WHERE guild_id = @guild_id
|
|
--UPDATE [dbo].[CharacterTable] SET [GuildID] = NULL
|
|
-- ,[GuildPoint] = 0 WHERE [character_id] = @character_id
|
|
|
|
--캐릭터 테이블의 길드 정보 삭제
|
|
UPDATE [dbo].[CharacterTable] SET [GuildID] = NULL ,[GuildPoint] = 0 WHERE [character_id] = @character_id
|
|
|
|
--길드 삭제 테이블에 길드 정보 이동
|
|
INSERT INTO [dbo].[GuildTable_DELETE] SELECT *, GETDATE() FROM [dbo].[GuildTable] AS S with (READUNCOMMITTED) WHERE S.[guild_id] = @guild_id
|
|
|
|
--길드 관련 테이블 삭제
|
|
DELETE FROM [dbo].[tbl_Guild_Exp_List] WHERE [guild_id] = @guild_id
|
|
DELETE FROM [dbo].[tbl_Guild_Skill] WHERE [guild_id] = @guild_id
|
|
DELETE FROM [dbo].[tbl_Guild_Storage_Info] WHERE [guild_id] = @guild_id
|
|
DELETE FROM [dbo].[tbl_Guild_Storage_Item] WHERE [guild_id] = @guild_id
|
|
DELETE FROM [dbo].[tbl_Guild_Storage_Use_List] WHERE [guild_id] = @guild_id
|
|
DELETE FROM [dbo].[GuildMemberTable] WHERE [guild_id] = @guild_id
|
|
|
|
--길드 테이블 삭제
|
|
DELETE FROM [dbo].[GuildTable] WHERE [guild_id] = @guild_id
|
|
|
|
COMMIT TRAN;
|
|
|
|
SELECT result_code = @result_code; --결과 코드 전달
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
|
|
ROLLBACK TRAN;
|
|
|
|
SELECT result_code = -1;
|
|
|
|
END CATCH
|
|
|
|
END
|