webForumDet fria alternativet

Updatera varje rad med ett random nummer

3 svar · 472 visningar · startad av Viktor

ViktorMedlem sedan aug. 20021 752 inlägg
#1

Jag vill updatera en tabell och lägga till ett random nummer i en av kolumnerna på varje rad men kan inte komma på hur jag ska göra det.
Jag har fösökt med följande kod men då får jag samma nummer på varje rad men jag vill altså ha ett nytt nummer (inte nödvändigtvis unikt) på varje rad,

UPDATE test2 SET t1=(
	SELECT ROUND(dbms_random.value(1,99)) FROM dual
) 
WHERE test2 IN (SELECT test2 FROM test2);

Lite dumma namn kanske, test2 är namnet på tabellen OCH namnet på id kolumnen...

/Viktor

J.N.Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Eftersom jag inte känner igen syntaxen på din kod ger jag det allmänna rådet om Randomize i VBScript, dvs slumpgeneratorn måste startas om varje gång man ska slumpa.

Det verkar som du missat och behöver det?

http://www.devguru.com/Technologies/vbscript/quickref/randomize.html

@ndersMedlem sedan juni 200032 969 inlägg
#3

Vad använder du för dbms?

ViktorMedlem sedan aug. 20021 752 inlägg
#4

@nders skrev:

Vad använder du för dbms?

Glömde den här :)
Det är löst, det var bara att ta bort select satsen och skriva såhär istället

UPDATE test2 SET t1=dbms_random.value(1,99) 
WHERE test2 IN (SELECT test2 FROM test2);

Vet inte varför jag inte kom på det själv, så enkelt :)

J.N. skrev:

HEJ!

Eftersom jag inte känner igen syntaxen på din kod ger jag det allmänna rådet om Randomize i VBScript, dvs slumpgeneratorn måste startas om varje gång man ska slumpa.

Det verkar som du missat och behöver det?

http://www.devguru.com/Technologies/vbscript/quickref/randomize.html

Eftersom jag kör i Oracle så fungerar inte VBScript så jätte bra. dbms_random.value ger just ett random värde, vad jag behövde var ett sätt att få ett nytt värde på varje rad istället för samma som det blev med min första update sats.

/Viktor

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