View Full Version : چطور با sql serever 2008 و دستور update فیلد tag را به ترتیب 3000 و3001و3002و... تا آخر پر کنیم؟
ali_abbasi22145
چهارشنبه 19 مرداد 1390, 16:14 عصر
سلام
چطور با sql serever 2008 و دستور update فیلد tag را به ترتیب 3000 و3001و3002و... تا آخر پر کنیم؟
احتمالا با دستور ROW_Number خواهد بود . لطفا مثال بزنید.
یوسف زالی
چهارشنبه 19 مرداد 1390, 16:52 عصر
سلام.
مثال:
with CTE as(select ID as MyID, rownumber() over (order by ID) as ROW from TBL) --test
update TBL set tag = Row + 2999 from CTE where MyID = ID
به همین راحتی!
ali_abbasi22145
شنبه 22 مرداد 1390, 14:18 عصر
سلام و تشکر
کد ساده شده وتست شده دوستمان به قرار زیر است:
with CTE as(select ID as MyID, ROW_NUMBER() over (order by id) as ROW from CardTable)
update CardTable
set tag = Row + 6000
from CTE
یوسف زالی
شنبه 22 مرداد 1390, 18:05 عصر
سلام.
شما شرط رو نگذاشتید.
نگذاشتن شرط مشکل ایجاد خواهد کرد.
ali_abbasi22145
یک شنبه 23 مرداد 1390, 15:52 عصر
سلام.
شما شرط رو نگذاشتید.
نگذاشتن شرط مشکل ایجاد خواهد کرد.
سلام
نه سوالی که مطرح کردم با دستور ساده من جواب می دهد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.