PDA

View Full Version : Update کردن رکورد هایی که تصادفی Select شده اند



aliblue
پنج شنبه 27 تیر 1392, 10:56 صبح
با سلام.من تعداد رکورد را به صورت تصادفی انتخاب می کنم:
SELECT TOP 10 f1,f2,f3,f4 FROM table1 ORDER BY NEWID()
حالا می خواهم فقط همین 10 رکوردی که انتخاب شده اند، مقدار یک فیلد را تغییر دهم.
چطور اینکار را انجام دهم؟
با تشکر

hossein_h62
پنج شنبه 27 تیر 1392, 11:07 صبح
سلام
یه راهش میتونه این باشه که نتایج این کوئری رو در یک جدول موقت ذخیره کنید و با کمک این جدول جدول اصلی رو بروز رسانی کنید.

aliblue
پنج شنبه 27 تیر 1392, 11:20 صبح
ممنون ولی من می خواهم که هر دو کار در یک Stored Procedure انجام شود.

aliblue
پنج شنبه 27 تیر 1392, 11:38 صبح
من یه چیزی شبیه این میخوام:
update table1 set f4+=1 where f1=( SELECT TOP 10 f1 FROM table1 ORDER BY NEWID())
ولی در انتها میخوام مقادیر فیلدهای f1,f2,f3,f4 را هم برگردانم.

hossein_h62
پنج شنبه 27 تیر 1392, 11:42 صبح
خب توی Sp همچین کدی بنویسید :
select top 10 f1,f2,f3,f4
into #Temp
from Table1 order by NEWID()

Update Table1
Set f1 = ...
From Table1 Inner Join #Temp T
On F2 = T.F2