server-re/decomp/schema/RustyHearts/procs/up_guild_disband.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