SQL - Update table: nombre de columna como parámetro

 
Vista:

Update table: nombre de columna como parámetro

Publicado por Tomas (2 intervenciones) el 15/11/2005 14:46:36
Hola!

Tengo el siguiente procedimiento:

CREATE PROCEDURE [dbo].[sp_set_customer]
@CustomerID nvarchar (50),
@NewValue bit,
@ColumnName nvarchar (50)

AS

update Customer
set @ColumnName = @NewValue
where CustomerID = @CustomerID
GO

Se trata de pasar como parámetro el nombre de la columna en la que se quiere actualizar su valor dado un CustomerID determinado. La cuestión es que no actualiza nada. Si pongo el nombre de la columna "a pelo" (set valorbooleano1 = @NewValue ...) entonces sí lo actualiza. ¿Qué puedo hacer para que me funcione pasando el nombre de la columna como parámetro? ¿alguna idea?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Update table: nombre de columna como parámetro

Publicado por Liliana (426 intervenciones) el 15/11/2005 15:07:01
Hola,
Lo que estás tratando de hacer se llama SQL Dinámico que tiene sus contras, te recomiendo leer http://www.algonet.se/~sommar/dynamic_sql.html.
De todas maneras, en los libros en pantalla podrás encontrar sp_executesql, que es lo que necesitás.
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Update table: nombre de columna como parámetro

Publicado por Tomás (2 intervenciones) el 15/11/2005 16:08:08
Muchísimas gracias Liliana, me solventaste el problema!!! :)

Un abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar