typ:
declare sSQL varchar(100)
set sSQL = 'update user set ' + @alt + ' = 1 where userid = ' +@user_id
exec (sSQL)
Om @user_id är en integer måste du nog casta den i konkateneringen, dock, men du förstår principen.
3 svar · 328 visningar · startad av hakan@4u2.se
Håller på med en sp update, vill att den ska uppdatera enligt nedan
update user s1 = 1 where user_id = @user_id
Skulle vilja skicka in värdet s1 istället o skriva typ så här, men det går ju inte, hur ska det vara?
update user @alt = 1 where user_id = @user_id
typ:
declare sSQL varchar(100)
set sSQL = 'update user set ' + @alt + ' = 1 where userid = ' +@user_id
exec (sSQL)
Om @user_id är en integer måste du nog casta den i konkateneringen, dock, men du förstår principen.
Tror inte du kan göra så om du inte gör den dynamisk vill säga.
Annars så får du skriva ut kolumnnamnet:
update user SET kolumn=@alt where user_id = @user_id
Men asså, klar modelleringsfelvarning. Lagra värdena i flera rader istället för att använda flera kolumner.