CREATE PROCEDURE [dbo].[up_insert_mail_item01] @sender_auth_id [uniqueidentifier], @sender_character_id [uniqueidentifier], @sender_name nvarchar(16), @recver_name nvarchar(16), @msg nvarchar(100), @money int, @return_day int, @req_money int, @NewMailID [uniqueidentifier], @createType int, @item_id [uniqueidentifier], @use_cnt int as set nocount on declare @character_id [uniqueidentifier], @auth_id [uniqueidentifier] begin tran select @auth_id = [AuthID], @character_id = [character_id] from CharacterTable with (READUNCOMMITTED) where [Name] = @recver_name if @character_id IS NULL begin insert into MailTable values ( @NewMailID, --0 @sender_character_id, --1 @recver_name, --2 @sender_character_id, --3 @sender_name, --4 @msg, --3 @money, --4 @return_day, @req_money, 0, --8 GETDATE(), 16 ); Exec dbo.up_ItemMoveToMailItem @sender_character_id, @sender_auth_id, @item_id, @use_cnt, @NewMailID, 0 end else begin insert into MailTable values ( @NewMailID, --0 @character_id, --1 @recver_name, --2 @sender_character_id, --3 @sender_name, --4 @msg, --3 @money, --4 @return_day, @req_money, 0, --8 GETDATE(), @createType ); Exec dbo.up_ItemMoveToMailItem @character_id, @auth_id, @item_id, @use_cnt, @NewMailID, 0 end declare @ERR int SET @ERR = @@ERROR IF @ERR <> 0 BEGIN RAISERROR('처리오류', 16, 10) IF @@TRANCOUNT <> 0 ROLLBACK RETURN (@ERR) END COMMIT TRAN