USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_DeleteCharPermanently] Script Date: 11/15/2018 10:23:51 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
--!!!CHECK!!!
ALTER PROCEDURE [dbo].[_DeleteCharPermanently]
@CharID as int
as
------------------------------------
-- 일단 삭제된 캐릭인지 부터 검사!
------------------------------------
if (not exists(select charid from _deletedchar where charid = @CharID))
begin
return -1
end
------------------------------------
-- 삭제후 경과된 시간이 대략 7일이 맞는가 확인 (샤드에 혹시 버그가 있을지 모르니깐...)
------------------------------------
declare @deleted_date datetime
declare @cur_date datetime
declare @elapsed_min int
declare @UserJID int
-- declare @deleted_slot int
set @cur_date = getdate()
select @UserJID = UserJID, /*@deleted_slot = CharSlot,*/ @deleted_date = deleteddate from _deletedchar with (nolock) where charid = @CharID
-- 삭제시킨지 6일 + 23시간 이상이 지난 캐릭인가? (1시간 정도의 오차라면 인정해 준다 냐하~)
set @elapsed_min = datediff(minute, @deleted_date, @cur_date)
if (@elapsed_min < ((60 * 24 * 6) + (60 * 23)))
begin
return -2
end
------------------------------------
-- 삭제된 캐릭이 맞는지 다시한번 확인
------------------------------------
declare @is_deleted tinyint
select @is_deleted = deleted from _Char where CharID = @CharID
if (@is_deleted <> 1)
begin
return -3
end
------------------------------------
-- 지울 캐릭이 _User 에 있는 CharID와 일치하는가 검사
------------------------------------
declare @char_id_to_check int
set @char_id_to_check = 0
/* -- commented by novice. for server integration.
if (@deleted_slot = 0)
begin select @char_id_to_check = CharID1 from _User where UserJID = @UserJID end
else if (@deleted_slot = 1)
begin select @char_id_to_check = CharID2 from _User where UserJID = @UserJID end
else if (@deleted_slot = 2)
begin select @char_id_to_check = CharID3 from _User where UserJID = @UserJID end
else
begin
return -4
end
-- 켁! 어떻게 된거야? 이상한 넘이 자리를 차지하고 있다!
if (@char_id_to_check <> @CharID)
begin
return -5
end
*/
-- start by novice.
select @char_id_to_check = CharID from _User where UserJID = @UserJID and CharID = @CharID
if (@char_id_to_check = 0)
begin
-- 지울 캐릭터가 _User 에 없어?
return -5
end
-- finish by novice.
begin transaction
declare @GuildID int
exec @GuildID = _DeleteCharPermanently_NoTX @UserJID, @CharID --, @deleted_slot
if (@GuildID is null)
set @GuildID = -10000
if (@GuildID < 0)
begin
rollback transaction
return @GuildID
end
commit transaction
return @GuildID
اتفضيل استخدام الكويرى دى وبعد 6 ايام راح يتمسح انشاء الله
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_DeleteCharPermanently] Script Date: 02/14/2012 12:54:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO
--!!!CHECK!!! ALTER PROCEDURE [dbo].[_DeleteCharPermanently] @charID as int as ------------------------------------ -- ?? ??? ???? ?? ??! ------------------------------------ if (not exists(select charid from _deletedchar where charid = @charID)) begin return -1 end ------------------------------------ -- ??? ??? ??? ?? 7?? ??? ?? (??? ?? ??? ??? ????...) ------------------------------------ declare @DeLeTed_date datetime declare @cur_date datetime declare @elapsed_min int declare @userJID int -- declare @DeLeTed_slot int set @cur_date = getdate() select @userJID = UserJID, / @DeLeTed_slot = CharSlot,*/ @DeLeTed_date = deleteddate from _deletedchar with (nolock) where charid = @charID
-- ????? 6? + 23?? ??? ?? ????? (1?? ??? ???? ??? ?? ??~) set @elapsed_min = datediff(minute, @DeLeTed_date, @cur_date) if @elapsed_min < ((60 * 24 * 6) + (60 * 23))) begin return -2 end ------------------------------------ -- ??? ??? ??? ???? ?? ------------------------------------ declare @is_deleted tinyint select @is_deleted = deleted from _Char where CharID = @charID if (@is_deleted <> 1) begin return -3 end
------------------------------------ -- ?? ??? _User ? ?? CharID? ????? ?? ------------------------------------ declare @char_id_to_check int set @char_id_to_check = 0
/* -- commented by novice. for server integration. if @DeLeTed_slot = 0) begin select @char_id_to_check = CharID1 from _User where UserJID = @userJID end else if @DeLeTed_slot = 1) begin select @char_id_to_check = CharID2 from _User where UserJID = @userJID end else if @DeLeTed_slot = 2) begin select @char_id_to_check = CharID3 from _User where UserJID = @userJID end else begin return -4 end -- ?! ??? ???? ??? ?? ??? ???? ??! if @char_id_to_check <> @charID) begin return -5 end */ -- start by novice. select @char_id_to_check = CharID from _User where UserJID = @userJID and CharID = @charID
if @char_id_to_check = 0) begin -- ?? ???? _User ? ??? return -5 end -- finish by novice.
begin transaction
declare @GuildID int exec @GuildID = _DeleteCharPermanently_NoTX @userJID, @charID --, @DeLeTed_slot if (@GuildID is null) set @GuildID = -10000 if (@GuildID < 0) begin rollback transaction return @GuildID end commit transaction
return @GuildID
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_DeleteCharPermanently_NoTX] Script Date: 02/14/2012 12:54:27 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO
ALTER PROCEDURE [dbo].[_DeleteCharPermanently_NoTX] @userJID INT , @charID INT AS ------------------------------------ -- Inventory¶û ±×¾أˆآ؟آ، °آ،أپأ¶°أ* أ€أ–´أ¸ ¾أ†أ€أŒإںأ›µé ³¯·أپ¹أ¶¸®أ€أڑ... ------------------------------------ -------------- أ†ê ¼أ’أˆ¯ ¾أ†أ€أŒإںأ›آ؛أژإںأچ أ€أڈ´أœ »èأپ¦ ---------------- declare @result int declare @slot tinyint declare @refItemID int
declare pc_inv_cursor cursor fast_forward for select inv.slot from _Inventory as inv join _Items as it on inv.ItemID = it.ID64 where (inv.CharID = @charID and inv.Slot >= 13 and inv.ItemID > 0) and -- أ€أ¥آ؛أ±أƒ¢ أپ¦آ؟أœأ‡أڈ°أ* ¾أ†أ€أŒإںأ› أ€أ–´أ‚ ¼أ¸¼أ¶ أ€أژآ؛¥إںأ¤¸® ¾أˆآ؟آ، µé¾îأ€أ–أ€¸¸ç (it.Data <> 0) and -- ¼أ’أˆ¯¼أ¶¸¦ °آ،أپأ¶°أ* أ€أ–´أ‚ (exists (select top 1 ID from _RefObjCommon where ID = it.RefItemID and TypeID1 = 3 and TypeID2 = 2)) -- أ†ê¼أ’أˆ¯ ¾أ†أ€أŒإںأ›µé أƒ£¾أ†أپà~
open pc_inv_cursor fetch next from pc_inv_cursor into @slot while @@fetch_status = 0 begin exec @result = _STRG_DEL_ITEM_NoTX 1, @charID, @slot if @result < 0) begin close pc_inv_cursor deallocate pc_inv_cursor return @result end
fetch next from pc_inv_cursor into @slot end
close pc_inv_cursor deallocate pc_inv_cursor ------------------- ³²أ€آ؛ ¾أ†أ€أŒإںأ›µé ¸ùأƒ¢ »èأپ¦ ------------------- -- ¾أ†أ€أŒإںأ›أ€أŒ أ‡أڈ³آھ¶أ³µµ أ€أ–´أ™¸é... if (exists (select top 1 itemID from _Inventory where CharID = @charID AND ItemID <> 0)) begin update _ItemPool Set InUse = 0 from _ItemPool as pool join _Inventory as inv on pool.ItemID = Inv.ItemID where Inv.CharID = @charID and Inv.ItemID <> 0 end ----------- ¾أ†أ€أŒإںأ›µé ³¯·أˆأ€¸´أڈ أƒأ–أپ¾أ€ûأ€¸·ç أ€أژآ؛¥إںأ¤¸® »èأپ¦ ------------ delete from _Inventory where CharID = @charID if (@@error <> 0) begin return -10001 end
------------------- ³²أ€آ؛ ¾أ†¹أ™إں¸ أ€أژآ؛¥إںأ¤¸® ¾أ†أ€أŒإںأ›µé ¸ùأƒ¢ »èأپ¦ ------------------- -- ¾أ†أ€أŒإںأ›أ€أŒ أ‡أڈ³آھ¶أ³µµ أ€أ–´أ™¸é... if (exists (select top 1 itemID from _InventoryForAvatar where CharID = @charID AND ItemID <> 0)) begin update _ItemPool Set InUse = 0 from _ItemPool as pool join _InventoryForAvatar as InvAva on pool.ItemID = InvAva.ItemID where InvAva.CharID = @charID and InvAva.ItemID <> 0 end ----------- ¾أ†أ€أŒإںأ›µé ³¯·أˆأ€¸´أڈ أƒأ–أپ¾أ€ûأ€¸·ç ¾أ†¹أ™إں¸ أ€أژآ؛¥إںأ¤¸® »èأپ¦ ------------ delete from _InventoryForAvatar where CharID = @charID if (@@error <> 0) begin return -10008 end
------------------------------------ -- COS »èأپ¦ ------------------------------------ /* declare @engaged_cos int set @engaged_cos = 0 select @engaged_cos = EngagedCOS from _char with (nolock) where CharID = @charID
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -- APPLY_MENTOR_SYSTEM (أƒأ–أ€أژأˆ£) --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ DECLARE @campID INT SET @campID = 0 SELECT @campID = CampID FROM _TrainingCampMember WHERE CharID = @charID IF @campID IS NOT NULL AND @campID <> 0) BEGIN DECLARE @ret_DelCampMember INT EXEC @ret_DelCampMember = _TRAINING_CAMP_DELMEMBER @campID, @charID, 0 IF @ret_DelCampMember < 0) RETURN -10007 END
-- أ€أ–أ€¸¸é أپأ¶آ؟أ¶¹أ¶¸®أ€أڑ~ ¹¹. DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @charID
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥µµ~~ ¤»¤» DELETE FROM _TrainingCampBuffStatus WHERE CampID = @campID
set @cursor_var = cursor fast_forward for select FriendCharID from _Friend where CharID = @charID
open @cursor_var
fetch next from @cursor_var into @FriendCharID
while( @@FETCH_STATUS = 0 ) begin delete _Friend where CharID = @FriendCharID and FriendCharID = @charID
fetch next from @cursor_var into @FriendCharID end close @cursor_var deallocate @cursor_var -- ³آھ.. delete _Friend where CharID = @charID ----------------------------------- ----------------------------------- -- أ‚أٹأپأ¶ »èأپ¦ ----------------------------------- delete _Memo where CharID = @charID ------------------------------------ -- TimedJob »èأپ¦أ‡أڈ±â ------------------------------------ delete _TimedJob where CharID = @charID ------------------------------------ -- Static Avatar أپ¤آ؛¸ »èأپ¦ ------------------------------------ delete from _staticavatar where charid = @charID ------------------------------------ -- ±أ“¸» آ؛أ*·° أپ¤آ؛¸ »èأپ¦ ------------------------------------ delete from _BlockedWhisperers where OwnerID = @charID ------------------------------------ -- _DeletedChar Entry »èأپ¦ ------------------------------------ delete from _DeletedChar where CharID = @charID if (@@error <> 0) begin return -10004 end -- start by novice. DELETE FROM _User WHERE UserJID = @userJID and CharID = @charID -- finish by novice.
-- إں¬¶أ³أ€أŒ¾ؤںأ†®آ؟ë أ„ü½½·أ” أپ¤آ؛¸ أ€أ؛أ€أ¥ إں×أ€أŒآ؛أ* ³¯¸®±â!!! exec _RemoveClientConfig @charID -- by novice...... for saving client configurations... return @GuildID
كود PHP:
USE [SRO_VT_ACCOUNT] GO /****** Object: StoredProcedure [dbo].[_ManageShardCharName] Script Date: 02/14/2012 12:56:27 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO ALTER procedure [dbo].[_ManageShardCharName] @job tinyint, @userJID int, @ShardID smallint, @charname varchar(64), @oldName varchar(64) as -- add new char name if (@job = 0) begin if (not exists(select * from SR_ShardCharNames where UserJID = @userJID and ShardID = @ShardID and CharName = @charname)) begin insert SR_ShardCharNames values @userJID, @ShardID, @charname) end end -- remove char name else if (@job = 1) begin delete SR_ShardCharNames where UserJID = @userJID and ShardID = @ShardID and CharName = @charname -- delete SR_CharAppoint where UserJID = @userJID and ShardID = @ShardID and CharID = @charname end -- rename previous one else if (@job = 2) begin update SR_ShardCharNames set CharName = @charname where UserJID = @userJID and ShardID = @ShardID and CharName = @oldName -- update SR_CharAppoint set CharID = @charname where UserJID = @userJID and ShardID = @ShardID and CharID = @oldName end
المشاركة الأصلية كتبت بواسطة Scrox
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
اتفضيل استخدام الكويرى دى وبعد 6 ايام راح يتمسح انشاء الله
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_DeleteCharPermanently] Script Date: 02/14/2012 12:54:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
--!!!CHECK!!!
ALTER PROCEDURE [dbo].[_DeleteCharPermanently] @charID as int
as
------------------------------------
-- ?? ??? ???? ?? ??!
------------------------------------
if (not exists(select charid from _deletedchar where charid = @charID))
begin
return -1
end
------------------------------------
-- ??? ??? ??? ?? 7?? ??? ?? (??? ?? ??? ??? ????...)
------------------------------------
declare @DeLeTed_date datetime
declare @cur_date datetime
declare @elapsed_min int
declare @userJID int
-- declare @DeLeTed_slot int
set @cur_date = getdate()
select @userJID = UserJID, / @DeLeTed_slot = CharSlot,*/ @DeLeTed_date = deleteddate from _deletedchar with (nolock) where charid = @charID
-- ????? 6? + 23?? ??? ?? ????? (1?? ??? ???? ??? ?? ??~)
set @elapsed_min = datediff(minute, @DeLeTed_date, @cur_date)
if @elapsed_min < ((60 * 24 * 6) + (60 * 23)))
begin
return -2
end
------------------------------------
-- ??? ??? ??? ???? ??
------------------------------------
declare @is_deleted tinyint
select @is_deleted = deleted from _Char where CharID = @charID
if (@is_deleted <> 1)
begin
return -3
end
------------------------------------
-- ?? ??? _User ? ?? CharID? ????? ??
------------------------------------
declare @char_id_to_check int
set @char_id_to_check = 0
/* -- commented by novice. for server integration.
if @DeLeTed_slot = 0)
begin select @char_id_to_check = CharID1 from _User where UserJID = @userJID end
else if @DeLeTed_slot = 1)
begin select @char_id_to_check = CharID2 from _User where UserJID = @userJID end
else if @DeLeTed_slot = 2)
begin select @char_id_to_check = CharID3 from _User where UserJID = @userJID end
else
begin
return -4
end
-- ?! ??? ???? ??? ?? ??? ???? ??!
if @char_id_to_check <> @charID)
begin
return -5
end
*/
-- start by novice.
select @char_id_to_check = CharID from _User where UserJID = @userJID and CharID = @charID
if @char_id_to_check = 0)
begin
-- ?? ???? _User ? ???
return -5
end
-- finish by novice.
begin transaction
declare @GuildID int
exec @GuildID = _DeleteCharPermanently_NoTX @userJID, @charID --, @DeLeTed_slot
if (@GuildID is null)
set @GuildID = -10000
if (@GuildID < 0)
begin
rollback transaction
return @GuildID
end
commit transaction
return @GuildID
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_DeleteCharPermanently_NoTX] Script Date: 02/14/2012 12:54:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[_DeleteCharPermanently_NoTX]
@userJID INT
, @charID INT
AS
------------------------------------
-- Inventory¶û ±×¾أˆآ؟آ، °آ،أپأ¶°أ* أ€أ–´أ¸ ¾أ†أ€أŒإںأ›µé ³¯·أپ¹أ¶¸®أ€أڑ...
------------------------------------
-------------- أ†ê ¼أ’أˆ¯ ¾أ†أ€أŒإںأ›آ؛أژإںأچ أ€أڈ´أœ »èأپ¦ ----------------
declare @result int
declare @slot tinyint
declare @refItemID int
declare pc_inv_cursor cursor fast_forward for
select inv.slot
from _Inventory as inv join _Items as it on inv.ItemID = it.ID64
where
(inv.CharID = @charID and inv.Slot >= 13 and inv.ItemID > 0) and -- أ€أ¥آ؛أ±أƒ¢ أپ¦آ؟أœأ‡أڈ°أ* ¾أ†أ€أŒإںأ› أ€أ–´أ‚ ¼أ¸¼أ¶ أ€أژآ؛¥إںأ¤¸® ¾أˆآ؟آ، µé¾îأ€أ–أ€¸¸ç
(it.Data <> 0) and -- ¼أ’أˆ¯¼أ¶¸¦ °آ،أپأ¶°أ* أ€أ–´أ‚
(exists (select top 1 ID from _RefObjCommon where ID = it.RefItemID and TypeID1 = 3 and TypeID2 = 2)) -- أ†ê¼أ’أˆ¯ ¾أ†أ€أŒإںأ›µé أƒ£¾أ†أپà~
open pc_inv_cursor
fetch next from pc_inv_cursor into @slot
while @@fetch_status = 0
begin
exec @result = _STRG_DEL_ITEM_NoTX 1, @charID, @slot
if @result < 0)
begin
close pc_inv_cursor
deallocate pc_inv_cursor
return @result
end
fetch next from pc_inv_cursor into @slot
end
close pc_inv_cursor
deallocate pc_inv_cursor
------------------- ³²أ€آ؛ ¾أ†أ€أŒإںأ›µé ¸ùأƒ¢ »èأپ¦ -------------------
-- ¾أ†أ€أŒإںأ›أ€أŒ أ‡أڈ³آھ¶أ³µµ أ€أ–´أ™¸é...
if (exists (select top 1 itemID from _Inventory where CharID = @charID AND ItemID <> 0))
begin
update _ItemPool Set InUse = 0
from _ItemPool as pool join _Inventory as inv on pool.ItemID = Inv.ItemID
where Inv.CharID = @charID and Inv.ItemID <> 0
end
----------- ¾أ†أ€أŒإںأ›µé ³¯·أˆأ€¸´أڈ أƒأ–أپ¾أ€ûأ€¸·ç أ€أژآ؛¥إںأ¤¸® »èأپ¦ ------------
delete from _Inventory where CharID = @charID
if (@@error <> 0)
begin
return -10001
end
------------------- ³²أ€آ؛ ¾أ†¹أ™إں¸ أ€أژآ؛¥إںأ¤¸® ¾أ†أ€أŒإںأ›µé ¸ùأƒ¢ »èأپ¦ -------------------
-- ¾أ†أ€أŒإںأ›أ€أŒ أ‡أڈ³آھ¶أ³µµ أ€أ–´أ™¸é...
if (exists (select top 1 itemID from _InventoryForAvatar where CharID = @charID AND ItemID <> 0))
begin
update _ItemPool Set InUse = 0
from _ItemPool as pool join _InventoryForAvatar as InvAva on pool.ItemID = InvAva.ItemID
where InvAva.CharID = @charID and InvAva.ItemID <> 0
end
----------- ¾أ†أ€أŒإںأ›µé ³¯·أˆأ€¸´أڈ أƒأ–أپ¾أ€ûأ€¸·ç ¾أ†¹أ™إں¸ أ€أژآ؛¥إںأ¤¸® »èأپ¦ ------------
delete from _InventoryForAvatar where CharID = @charID
if (@@error <> 0)
begin
return -10008
end
------------------------------------
-- COS »èأپ¦
------------------------------------
/*
declare @engaged_cos int
set @engaged_cos = 0
select @engaged_cos = EngagedCOS from _char with (nolock) where CharID = @charID
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- APPLY_MENTOR_SYSTEM (أƒأ–أ€أژأˆ£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
DECLARE @campID INT
SET @campID = 0
SELECT @campID = CampID FROM _TrainingCampMember WHERE CharID = @charID
IF @campID IS NOT NULL AND @campID <> 0)
BEGIN
DECLARE @ret_DelCampMember INT
EXEC @ret_DelCampMember = _TRAINING_CAMP_DELMEMBER @campID, @charID, 0
IF @ret_DelCampMember < 0)
RETURN -10007
END
-- أ€أ–أ€¸¸é أپأ¶آ؟أ¶¹أ¶¸®أ€أڑ~ ¹¹.
DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @charID
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥µµ~~ ¤»¤»
DELETE FROM _TrainingCampBuffStatus WHERE CampID = @campID
set @cursor_var = cursor fast_forward
for
select FriendCharID
from _Friend
where CharID = @charID
open @cursor_var
fetch next from @cursor_var into @FriendCharID
while( @@FETCH_STATUS = 0 )
begin
delete _Friend where CharID = @FriendCharID and FriendCharID = @charID
fetch next from @cursor_var into @FriendCharID
end
close @cursor_var
deallocate @cursor_var
-- ³آھ..
delete _Friend where CharID = @charID
-----------------------------------
-----------------------------------
-- أ‚أٹأپأ¶ »èأپ¦
-----------------------------------
delete _Memo where CharID = @charID
------------------------------------
-- TimedJob »èأپ¦أ‡أڈ±â
------------------------------------
delete _TimedJob where CharID = @charID
------------------------------------
-- Static Avatar أپ¤آ؛¸ »èأپ¦
------------------------------------
delete from _staticavatar where charid = @charID
------------------------------------
-- ±أ“¸» آ؛أ*·° أپ¤آ؛¸ »èأپ¦
------------------------------------
delete from _BlockedWhisperers where OwnerID = @charID
------------------------------------
-- _DeletedChar Entry »èأپ¦
------------------------------------
delete from _DeletedChar where CharID = @charID
if (@@error <> 0)
begin
return -10004
end
-- start by novice.
DELETE FROM _User WHERE UserJID = @userJID and CharID = @charID
-- finish by novice.
-- إں¬¶أ³أ€أŒ¾ؤںأ†®آ؟ë أ„ü½½·أ” أپ¤آ؛¸ أ€أ؛أ€أ¥ إں×أ€أŒآ؛أ* ³¯¸®±â!!!
exec _RemoveClientConfig @charID -- by novice...... for saving client configurations...
return @GuildID
كود PHP:
USE [SRO_VT_ACCOUNT]
GO
/****** Object: StoredProcedure [dbo].[_ManageShardCharName] Script Date: 02/14/2012 12:56:27 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER procedure [dbo].[_ManageShardCharName]
@job tinyint,
@userJID int,
@ShardID smallint,
@charname varchar(64),
@oldName varchar(64)
as
-- add new char name
if (@job = 0)
begin
if (not exists(select * from SR_ShardCharNames where UserJID = @userJID and ShardID = @ShardID and CharName = @charname))
begin
insert SR_ShardCharNames values @userJID, @ShardID, @charname)
end
end
-- remove char name
else if (@job = 1)
begin
delete SR_ShardCharNames where UserJID = @userJID and ShardID = @ShardID and CharName = @charname
-- delete SR_CharAppoint where UserJID = @userJID and ShardID = @ShardID and CharID = @charname
end
-- rename previous one
else if (@job = 2)
begin
update SR_ShardCharNames set CharName = @charname where UserJID = @userJID and ShardID = @ShardID and CharName = @oldName
-- update SR_CharAppoint set CharID = @charname where UserJID = @userJID and ShardID = @ShardID and CharID = @oldName
end
شكرا على تعب حضرتك
طيب ويالنسبة للاكونتات اللى 7 أيام بتاعتهم خلصت هايتمسحوا اول مااعمل كويرى دا ولا هايحسب 7 أيام من جديد
بس كان فيه استفسار بسيط في كويرى المفروض بيبقى مكتوب فيه كدا
- 삭제된 캐릭이 맞는지 다시한번 확인
دى موجود بدلها علامات استفهام وحروف عربى ورموز ممكن تعمل مشكلة لو ممكن تقولى حضرتك عدلت على كود ايه وانا ابدله عندى
معلشى تاعبك معايا كان فيه واحد برضه قالى غير رقم 6 اعمله 7 بس نفس المشلكة برضه مااتحلتشى