Actualizar varias columnas

22/02/2005 - 23:19 por Daniel | Informe spam
Tengo una duda:
Como puedo actualizar varias columnas con una unica sentencia de sql.
Digamos que tengo 50 columnas, con valores numericos, y quiero cambiar sobre
las 50 columnas los valores (-1) por (1)
Yo lo puedo hacer si escribo

Update Tabla1
Set Columna1 = 1
Where Columna1 = -1

Lo que no quiero es escribir 50 veces la misma sentencia para las diferentes
columnas
Como puedo hacerlo en una unica sentencia facil?
 

Leer las respuestas

#1 Isaías
22/02/2005 - 23:45 | Informe spam
Esta es la idea
DECLARE @Miscolumnas int, DECLARE @SQLString NVARCHAR(100)
SET @Miscolumnas = 1
WHILE @Miscolumnas < 51
BEGIN
SET @SQLString = N'UPDATE MyTabla SET Mycol'+convert
(varchar,@Miscolumnas)+' = 1 WHERE Mycol'+convert
(varchar,@Miscolumnas)+' = -1'
EXECUTE SP_EXECUTESQL @SQLString
SET @Miscolumnas = @Miscolumnas+1
CONTINUE
END

Preguntas similares