webForumDet fria alternativet

sp update

3 svar · 326 visningar · startad av hakan@4u2.se

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#1

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
@ndersMedlem sedan juni 200032 969 inlägg
#2

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.

Jesper TMedlem sedan nov. 20017 144 inlägg
#3

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

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Men asså, klar modelleringsfelvarning. Lagra värdena i flera rader istället för att använda flera kolumner.

129 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)