CREATE PROCEDURE [dbo].[FT1WEB_DELETE_CHARACTER]
@NAME VARCHAR(10)
AS
delete from ExtChrData where [name]=@NAME
delete from guildmember where [name]=@NAME
delete from guildmember where ([g_name] in (select g_name from guild where [g_master]=@NAME))
delete from guild where [g_master]=@NAME
delete from Life where [character]=@NAME
delete from lifelog where ChrName=@NAME
delete from optiondata where [name]=@NAME
delete from event_info where charactername=@NAME
UPDATE ACCOUNTCHARACTER SET GAMEID1=NULL WHERE GAMEID1=@NAME
UPDATE ACCOUNTCHARACTER SET GAMEID2=NULL WHERE GAMEID2=@NAME
UPDATE ACCOUNTCHARACTER SET GAMEID3=NULL WHERE GAMEID3=@NAME
UPDATE ACCOUNTCHARACTER SET GAMEID4=NULL WHERE GAMEID4=@NAME
UPDATE ACCOUNTCHARACTER SET GAMEID5=NULL WHERE GAMEID5=@NAME
UPDATE ACCOUNTCHARACTER SET GAMEIDC=NULL WHERE GAMEIDC=@NAME
delete [Character] where [name]=@NAME
GO
CREATE PROCEDURE [dbo].[FT1WEB_DELETE_ACCOUNT]
@ID VARCHAR(10)
AS
--DELETE ACCOUNT PROCEDURE
--DECLARACION DE VARIABLES
DECLARE @GUID INT, @NAME VARCHAR(10)
--OBTENEMOS EL ID
SET @GUID = (SELECT memb_guid from MEMB_INFO WHERE memb___id=@ID)
--PROCEDEMOS A BORRAR LOS REGISTROS
DELETE VI_MIDS_INFO WHERE memb___id = @ID
DELETE VI_LEAV_INFO WHERE memb___id = @ID
DELETE VI_FQNW_INFO WHERE memb___id = @ID
DELETE VI_CURR_INFO WHERE memb___id = @ID
DELETE T_MU2003_EVENT WHERE AccountID = @ID
DELETE T_Event_Barunson WHERE Memb_Id = @ID
DELETE PointMemo WHERE AccountId = @ID
DELETE MIDS_INFO WHERE Memb_Guid = @GUID
DELETE MembInfoModifyOrigin WHERE memb___id= @ID
DELETE MembInfoModify WHERE memb___id= @ID
DELETE MEMB_STAT WHERE memb___id= @ID
DELETE MEMB_NOTICE WHERE memb___id= @ID
DELETE MEMB_INFO WHERE memb___id= @ID
DELETE MEMB_DETA WHERE memb_guid = @GUID
DELETE MEMB_DESC WHERE memb_guid = @GUID
DELETE MEMB__OUT WHERE memb_guid = @GUID
DELETE LOG_UserLogin WHERE UserID = @ID
DELETE LOG_TakeItem WHERE UserID = @ID
DELETE LOG_ITEMSHOP WHERE UserID = @ID
DELETE LEAV_MEMB WHERE Memb_guid = @GUID
DELETE ExtIdData WHERE AccountID = @ID
DELETE ExtChrData WHERE AccountID = @ID
DELETE EVENT_INFO WHERE AccountID = @ID
DELETE CURR_INFO WHERE memb_guid = @GUID
DELETE AccountCharacter WHERE id=@ID
DELETE warehouse WHERE AccountId = @ID
DECLARE LISTA CURSOR LOCAL FORWARD_ONLY FOR
select name from Character where AccountID=@ID
OPEN LISTA
FETCH NEXT FROM LISTA INTO @NAME
WHILE @@FETCH_STATUS = 0
BEGIN
--borramos los characters
delete from ExtChrData where [name]=@NAME
delete from guildmember where [name]=@NAME
delete from guildmember where ([g_name] in (select g_name from guild where [g_master]=@NAME))
delete from guild where [g_master]=@NAME
delete from Life where [character]=@NAME
delete from lifelog where ChrName=@NAME
delete from optiondata where [name]=@NAME
delete from event_info where charactername=@NAME
FETCH NEXT FROM LISTA INTO @NAME
END
CLOSE LISTA
DEALLOCATE LISTA
DELETE Character WHERE AccountID = @ID
GO