PDA

View Full Version : سوال: آپدیت خاص رکورد ها



neynavaz
جمعه 26 آذر 1389, 14:18 عصر
آپدیت خاص رکورد ها

سلام

من دوتا جدول دارم که با یه آیدی بهم ربط دارند
میخوام یه سری از رکوردهایی که تو جدول اصلیم هستند رو تغییر بدم به شرطی که
در جدول دوم دارای یه شرایط خاصی باشند

یه راه بنظرم رسید که اینه
تمام رکودهای مورد نطر رو سلکت کنم در دیتا ست بریزم
دونه دونه اپدیت کنم با حلقه

اما هم کار سنگینیه هم توی وب اینکار یعنی هنگیدن

کسی راهی داری که یههو آپدیت کنم
یا تو استورد پروروسیجر بنویسم؟
این کد رو نوشتم همه رکوردها رو تغییر میده

UPDATE dbo.T_Message
set dbo.T_Message.Msgtype = -1

where
Exists
( select * FROM dbo.Msg_S INNER JOIN dbo.T_Message ON dbo.Msg_S.MsgId = dbo.T_Message.MSGId WHERE(dbo.Msg_S.Status = 1))

chasbonakam
جمعه 26 آذر 1389, 17:09 عصر
سلام

فکر کنم اگه به جای exist از دستور IN استفاده کنی مشکلت حل می شه.

AminSobati
جمعه 26 آذر 1389, 21:14 عصر
سلام دوست عزیزم،
احتمالا شرط رو درست ننوشتین. پیشنهاد میکنم به جای دو سطر اول، عبارت select * from t_message بنویسین تا از بدست آمدن رکوردهای مناسب اطمینان حاصل کنید، بعد از اصلاح، به Update و Set برگردونین

Reza_Yarahmadi
جمعه 26 آذر 1389, 21:20 عصر
کد زیر رو امتحان کنید

UPDATE dbo.T_Message SET
Msgtype = -1
From
dbo.T_Message T inner Join dbo.Msg_S M
On
M.MsgId = T.MSGId
AND
M.Status = 1
در صورت جواب ندادن یک مقدار بیشتر توضیح بدید تا بهتر بشه کمکتون کرد.