Quote:
Originally Posted by Richar12
Hello everyone, I would like to ask a question? How can I change the name of my character without having to delete it and start over, try from the SQL, but the table restarts when I log in if anyone knows what tables I have to modify thank you.
|
Run Microsoft SQL Server Management Studio, then click New Query, then copy and paste the following stored proc and run it, then refresh the stored proc area to ensure the process name appears, then right-click the name of the process and click on Excecute Stored Procedure, the following data will appear:
@
ID -> Here write 100
@
ID -> Here write the PersonID that corresponds to the Character.
@
-> Here write 2 to change Character name
@
ame -> Here write the new name you want.
@
Name -> Here write the current name.
That's all, I hope I helped you.
USE [AT_GameDB01]
GO
/****** Object: StoredProcedure [dbo].[rsp_CambiarNombre] Script Date: 3/3/2020 23:56:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*================================================= ============================
Nombre de la Función: rsp_CambiarNombre
Fecha de edición: 03/03/2020
Explicación: Puede cambiar el nombre del Clan, Nación o Personaje según el modo que use.
Modo = 0 : Cambia el nombre de Clan
Modo = 1 : Cambia el nombre de la Nación
Modo = 2 : Cambia el nombre del Personaje
Resultado = 1 : Significa que hubo éxito en la ejecución del proceso almacenado.
Resultado = -2 : Significa que el nombre que se quiere cambiar ya existe y no puede usarse
Editado adecuadamente por: Triacman
================================================== ===========================*/
CREATE PROCEDURE [dbo].[rsp_CambiarNombre]
@
ID int,
@
ID int,
@
tinyint,
@
ame nvarchar(24),
@
Name nvarchar(24)
AS
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @
nvarchar(50)
DECLARE @
int
IF @
= 2
BEGIN
IF EXISTS ( SELECT * FROM [dbo].[tbl_Person] WHERE [NAME] = @
ame )
BEGIN
select -2, @
ame
RETURN
END
SELECT @
Name = [Name] FROM [dbo].[tbl_Person] WHERE [PersonID] = @
ID
END
BEGIN TRAN
BEGIN TRY
IF @
= 0 /* Cambia el nombre del Clan*/
BEGIN
SET @
= 0
EXEC @
= AT_Community.AT_Community.dbo.rasp_ChangeName 2, @
ID, @
Name, @
ame
IF @
<> 1
BEGIN
set @
= 'UPDATE tbl_GuildUnit'
goto WriteErrorLog
END
END
ELSE IF @
= 1 /* Cambia el nombre de la Nación */
BEGIN
IF EXISTS (SELECT * FROM dbo.tbl_Nation WHERE NationName = @
ame)
begin
SET @
= -2
set @
= 'UPDATE tbl_Nation'
goto WriteErrorLog
end
ELSE
begin
UPDATE [dbo].[tbl_Nation] SET [NationName] = @
ame FROM [dbo].[tbl_Nation] WHERE [NationName] LIKE '*%' or NationName = @
Name
IF @@ROWCOUNT <> 0
BEGIN
SET @
= -3
set @
= 'UPDATE tbl_Nation'
goto WriteErrorLog
END
end
END
ELSE IF @
= 2 -- Cambia el nombre del personaje.
BEGIN
-- Cambia todas las tablas que contienen nombres de personajes.
UPDATE [dbo].[tbl_Person] SET [Name] = @
ame WHERE [PersonID] = @
ID
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_Person'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_FriendList] SET [FriendName] = @
ame WHERE [FriendName] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_FriendList'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_FolloWer] SET [fName] = @
ame WHERE [fName] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_FolloWer'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_PersonIndunMax] SET [Name] = @
ame WHERE [Name] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_PersonIndunMax'
goto WriteErrorLog
END
UPDATE [dbo].[tbla_PersonName] SET [PersonName] = @
ame WHERE [PersonID] = @
ID
IF @
<> 0
BEGIN
set @
= 'UPDATE tbla_PersonName'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_House] SET [HouseName] = @
ame WHERE [PersonID] = @
ID
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_House'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_BattleFieldCharInfo] SET [CharName] = @
ame WHERE [CharName] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_BattleFieldCharInfo'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_TournamentLog] SET [DstName] = @
ame WHERE [DstName] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_TournamentLog'
goto WriteErrorLog
END
UPDATE [dbo].[tbl_WTMRecord] SET [Name] = @
ame WHERE [Name] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_WTMRecord'
goto WriteErrorLog
END
UPDATE [dbo].[tbla_rank_9] SET [Name] = @
ame WHERE [Name] = @
Name
IF @
<> 0
BEGIN
set @
= 'UPDATE tbla_rank_9'
goto WriteErrorLog
END
INSERT INTO [dbo].[tbl_ChangeName] (Reg_date,PersonID,BeforeName,AfterName,flag) SELECT GETDATE(), @
ID, @
Name, @
ame, 0
IF @
<> 0
BEGIN
set @
= 'UPDATE tbl_ChangeName'
goto WriteErrorLog
END
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRAN
insert into tbl_SPError ( ErrorDate, ErrorNumber, ErrorSeverity, ErrorState, ErrorProcedure, ErrorLine, ErrorMessage, ErrorParam )
SELECT
getdate(), ERROR_NUMBER() as ErrorNumber, ERROR_SEVERITY() as ErrorSeverity, ERROR_STATE() as ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure, ERROR_LINE() as ErrorLine, ERROR_MESSAGE(),
@
ID = ' + isnull(CONVERT(varchar, @
ID), '' ) + ',' +
@
= ' + isnull(CONVERT(varchar, @
), '' ) + ',' +
@
ame = ' + isnull(CONVERT(varchar, @
ame), '' ) + ',' +
@
Name = ' + isnull(CONVERT(varchar, @
Name), '' )
select @
, @
ame
RETURN
END CATCH
IF @@TRANCOUNT > 0
COMMIT TRAN
SELECT 1, @
ame
RETURN
WriteErrorLog:
IF @@TRANCOUNT > 0
ROLLBACK TRAN
insert into tbl_SPError ( ErrorDate, ErrorNumber, ErrorSeverity, ErrorState, ErrorProcedure, ErrorLine, ErrorMessage, ErrorParam )
SELECT
getdate(), 65544, 0, 0, 'rsp_ChangeName' AS ErrorProcedure, ERROR_LINE() as ErrorLine, @
+ ' 문에 적용된 행이 없습니다.',
@
ID = ' + isnull(CONVERT(varchar, @
ID), '' ) + ',' +
@
= ' + isnull(CONVERT(varchar, @
), '' ) + ',' +
@
ame = ' + isnull(CONVERT(varchar, @
ame), '' ) + ',' +
@
Name = ' + isnull(CONVERT(varchar, @
Name), '' )
select @
, @
ame
RETURN