server-re/decomp/schema/RustyHearts/procs/up_insert_guild_member.sql

64 lines
1.3 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[up_insert_guild_member]
@guild_id [uniqueidentifier],
@character_id [uniqueidentifier],
@name nvarchar(16),
@alias_name nvarchar(16),
@grade int,
@class int,
@level int
AS
BEGIN
SET NOCOUNT ON;
SET XACT_ABORT ON;
DECLARE @check_character_id [uniqueidentifier];
DECLARE @result_code INT;
SET @check_character_id = NULL;
SET @result_code = 1; --1 : 성공 / -1 : 프로시저 오류 / -2 : INSERT 실패 / -3 : UPDATE 실패
BEGIN TRY
BEGIN TRAN;
SELECT @check_character_id = [character_id] from GuildMemberTable with (READUNCOMMITTED) where [character_id] = @character_id; --AND [guild_id] = @guild_id
IF( @check_character_id IS NULL )
BEGIN
INSERT INTO GuildMemberTable
VALUES
( @guild_id, --0
@character_id, --1
@name, --2
@alias_name, --3
@grade,
@class, --4
@level,
GetDate()
);
UPDATE [dbo].[CharacterTable] SET [GuildID]=@guild_id WHERE [character_id] = @character_id
END
ELSE
BEGIN
SET @result_code = -2;
END
COMMIT TRAN;
SELECT result_code = @result_code; --결과 코드 전달
END TRY
BEGIN CATCH
ROLLBACK TRAN;
SELECT result_code = -1;
END CATCH
END