PDA

View Full Version : ارتباط جداول و مقدار دهی به جدول دوم



ehsan2007
یک شنبه 01 اردیبهشت 1387, 00:02 صبح
کمی جستجو کردم ولی چیزی پیدا نشد
من دوتا جدول دارم اولی چند تا فیلد داره که یکی از فیلدهاش اتونامبره و یکی یکی اضافه میشه
توی جدول دوم هم برای ارتباط هم اسم اون جدول قبلی یک فیلد هست (تا اینجا واسه ارتباطشون)
حالا من میخوام توی جدول دوم یک فیلد دیگه هم تعریف کنم یکی یکی اضافه بشه ولی با این تفاوت که مرتبط باشه با فیلدی که بین دو جدول مشترکه
مثلا





id2 id1

1 1
1 2
1 3
2 1
2 2




id1 مال ارتباط بین دو جدوله وid2 من میخوام از یک شروع کنم به مقدار دادن واگه id1شد 2 باز از دوباره از یک شروع کنه id2به مقدار دادن این کارو چه شکلی انجام بدم که به طور اتوماتیک خود sql server انجام بده
لطفا کمکم کنید

حمیدرضاصادقیان
یک شنبه 01 اردیبهشت 1387, 08:36 صبح
سلام. شما یا باید یک تابع بنویسی که اینکارو انجام بده و روی همه رکوردها تاثیر بذاره یا به صورت دستی در داخل برنامه اینکارو انجام بدی.من اینکارو به صورت دستی در جدول سندم انجام دادم.تاوقتی شماره سند یکی هست تعداد ردیفها اضافه میشه و وقتی سند جدید شد فیلد من هم جدید میشه.اگه خواستی بگو بیشتر توضیح بدم.

ehsan2007
یک شنبه 01 اردیبهشت 1387, 12:03 عصر
یعنی هر بار که من میخوام یکی اضافه بشه به id2 که مربوطه به id1 اول باید max id2 بدست بیارم و یکی اضافه کنم و سپس ذخیره کنمش
راه بهتر و سریعتری نیست که انجام بدم

AminSobati
دوشنبه 02 اردیبهشت 1387, 10:13 صبح
دوست عزیزم،
شما احتمالا نیاز به نگه داشتن اون ستون به صورت فیزیکی در جدول ندارین، بلکه موقع نمایش (Query گرفتن) میتونین این فیلد رو در دستور Select ایجاد کنین. البته این قابلیت در SQL Server 2005 اضافه شده (تابع ROW_NUMBER). اما اگر به هر دلیلی میبایست بصورت فیزیکی در جدول اون رو ذخیره کنین، میشه از Trigger استفاده کرد