84 lines
2.2 KiB
Transact-SQL
84 lines
2.2 KiB
Transact-SQL
CREATE PROCEDURE [dbo].[up_insert_mail_item03]
|
|
@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,
|
|
@item_id03 [uniqueidentifier],
|
|
@use_cnt03 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
|
|
Exec dbo.up_ItemMoveToMailItem @sender_character_id, @sender_auth_id, @item_id03, @use_cnt03, @NewMailID, 2
|
|
|
|
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
|
|
Exec dbo.up_ItemMoveToMailItem @character_id, @auth_id, @item_id03, @use_cnt03, @NewMailID, 2
|
|
end
|
|
|
|
declare @ERR int
|
|
|
|
SET @ERR = @@ERROR
|
|
IF @ERR <> 0 BEGIN
|
|
RAISERROR('처리오류', 16, 10)
|
|
IF @@TRANCOUNT <> 0 ROLLBACK
|
|
RETURN (@ERR)
|
|
END
|
|
COMMIT TRAN
|