webForumDet fria alternativet
Logga in / Bli medlem

sp update

Databaser & SQL

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

Medlem sedan aug. 2000333 inlägg
Trådstart#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
Medlem sedan juni 200032 967 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.

Medlem 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

Medlem 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.

255 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)