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

79 lines
1.9 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[up_insert_mail_item02]
@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_id01 [uniqueidentifier],
@use_cnt01 int,
@item_id02 [uniqueidentifier],
@use_cnt02 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_id01, @use_cnt01, @NewMailID, 0
Exec dbo.up_ItemMoveToMailItem @sender_character_id, @sender_auth_id, @item_id02, @use_cnt02, @NewMailID, 1
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_id01, @use_cnt01, @NewMailID, 0
Exec dbo.up_ItemMoveToMailItem @character_id, @auth_id, @item_id02, @use_cnt02, @NewMailID, 1
end
declare @ERR int
SET @ERR = @@ERROR
IF @ERR <> 0 BEGIN
RAISERROR('처리오류', 16, 10)
IF @@TRANCOUNT <> 0 ROLLBACK
RETURN (@ERR)
END
COMMIT TRAN