Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/09/2014, 15:59
maldini3783
 
Fecha de Ingreso: febrero-2011
Mensajes: 89
Antigüedad: 13 años, 2 meses
Puntos: 1
Update SQL dinamico

Buenas

Estoy intentano crear un instruccion update con columna dinamica con lo siguiente:
Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[UpdateTemporalDataPMO]
  2.  
  3.      @oldStatus INT,
  4.      @CountryName  VARCHAR(90)
  5.  
  6. AS
  7.      DECLARE @intTotal INT
  8.      DECLARE @SQL VARCHAR(MAX)
  9.      DECLARE @ColumnName VARCHAR(90)
  10.      DECLARE @tableName VARCHAR (70)
  11. BEGIN try
  12.     --SET @ColumnName=@CountryName
  13.     SET @tableName='TemporalDataPMO'
  14.    SET @intTotal=300
  15.     --SET @sql='Select * from [dbo].[TemporalDataPMO]'
  16.     ----SET @sql=Update [dbo].[TemporalDataPMO] SET  + 'Belgium=' + 100  Where IdState=35
  17.    
  18.     SET @SQL = @SQL + 'UPDATE ' + @tableName + ' SET ' + @CountryName +' = '+ CONVERT(nvarchar(2),@intTotal )  +  ' WHERE  IdState='+CONVERT(nvarchar(2),@oldStatus ) + ';'
  19.  
  20.    EXEC(@SQL)
  21.  
  22. END try
  23. BEGIN CATCH
  24.     ---- Execute error retrieval routine.
  25.     --EXECUTE usp_GetErrorInfo;
  26.      PRINT N'Error = ' + CAST(@@ERROR AS NVARCHAR(8));
  27. END CATCH;
[/CODE]

Me está devolviendo un error de conversion ¿como puedo pasarle un id (int ) a la query dinamica?
No acaba de hacer el update.

Gracias por la ayuda.

Saludos

Última edición por gnzsoloyo; 30/09/2014 a las 07:55