Problema com Procedure SQL
Boa tarde, estou criando uma procedure que faz um loop com o comando "sp_rename", porém estou
tendo um problema com o meu select. Pois o mesmo não está me retornando os valores que eu preciso.
tendo um problema com o meu select. Pois o mesmo não está me retornando os valores que eu preciso.
ALTER PROCEDURE [dbo].[prcTranslateEliasTeste] @Table VARCHAR(100) AS BEGIN -- Set NOCOUNT ON SET NOCOUNT ON -- Declaração de Variáveis DECLARE @id NUMERIC (18, 0) ,@Status VARCHAR (100) ,@NamePT VARCHAR (100) ,@NameEN VARCHAR (100) ,@ColumnEN VARCHAR (100) ,@ColumnPT VARCHAR (100) ,@RowCount INT ,@NumberRecords INT ,@ErrorMessage NVARCHAR(4000) ,@ErrorSeverity INT ,@ErrorState INT BEGIN TRY BEGIN TRANSACTION -- Seleção de Dados SELECT @id = idTransTable ,@NamePT = sTableNamePT ,@NameEN = sTableNameEN FROM tbTransTableElias (NOLOCK) WHERE sTableNameEN = @Table OR sTableNamePT = @Table -- Verificando Status SELECT @Status = sStatus FROM tbStatusElias (NOLOCK) WHERE idTransTable = @id -- Criação de Tabela Temporária CREATE TABLE #tbTable ( [idTransTable] [NUMERIC](18, 0) ,[sColumnNameEN] [VARCHAR](100) ,[sColumnNamePT] [VARCHAR](100) ) -- Inserindo Dados na Tabela Temporária INSERT INTO #tbTable ( idTransTable ,sColumnNameEN ,sColumnNamePT ) SELECT idTransTable ,sColumnNameEN ,sColumnNamePT FROM tbTransColumnElias WHERE idTransTable = @id SELECT @ColumnPT = [sColumnNamePT] ,@ColumnEN = [sColumnNameEN] FROM tbTransColumnElias -- Obtendo Número de Registros da Tabela Temporária SET @NumberRecords = @@RowCount SET @RowCount = 1 -- Tradução em Português IF (@Table = @NamePT) BEGIN UPDATE tbStatusElias SET sStatus = ''''''''English'''''''' WHERE idTransTable = @id WHILE @RowCount <= 6 BEGIN SET @ColumnPT = @Table + ''''''''.'''''''' + @ColumnPT EXEC sp_rename @ColumnPT, @ColumnEN SET @RowCount = @RowCount + 1 PRINT @ColumnPT END EXEC sp_rename @Table ,@NameEN END -- Tradução em Inglês IF (@Table = @NameEN) BEGIN UPDATE tbStatusElias SET sStatus = ''''''''Portuguese'''''''' WHERE idTransTable = @id WHILE @RowCount <= 6 BEGIN SET @ColumnEN = @Table + ''''''''.'''''''' + @ColumnEN EXEC sp_rename @ColumnEN, @ColumnPT SET @RowCount = @RowCount + 1 END EXEC sp_rename @Table,@NamePT END -- Dropando Tabela Temporária DROP TABLE #tbTable COMMIT TRANSACTION END TRY BEGIN CATCH SELECT @ErrorMessage = ERROR_MESSAGE() ,@ErrorSeverity = ERROR_SEVERITY() ,@ErrorState = ERROR_STATE() ROLLBACK TRANSACTION RAISERROR ( @ErrorMessage ,@ErrorSeverity ,@ErrorState ) END CATCH END
Elias
Curtidas 0