PDA

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



mahmood1000
جمعه 26 آذر 1389, 21:33 عصر
سلام به همه دوستان

من دوتا تیبل دارم ، حالا میخوام تو خود SQL وقتی تو Table1 اطلاعات وارد میشه در Table2 فیلدایی که مورد نظرم هستن از فیلدای table1 تغذیه کنه و خود به خود پر بشه.
اگر راهی هست راهنمای کنید.

ترو خدا راهنمایی کنید.
خیلی گشتم چیز پیدا نکردم
:گریه::گریه::گریه::گریه:

Rejnev
جمعه 26 آذر 1389, 22:27 عصر
استفاده از تریگر (trigger) کار سازه.

CREATE trigger myTrigger
on table1 after insert
as
begin
insert into table2(name)values (select name from inserted)
end

mahmood1000
جمعه 26 آذر 1389, 22:55 عصر
با تشکر از راهنمایی تون دوست عزیز
حالا اگر امکان داره روش ایجادر تریگر رو بگید.

درضمن یه سوال دیگه اینکه اگر در تیبل اول updateو... ایجاد بشه تیبل دوم دباره تغییر میکنه؟

حمیدرضاصادقیان
شنبه 27 آذر 1389, 08:10 صبح
سلام.
نحوه ایجاد تریگر توضیح داده شده. برای اینکه در زمان update هم تغییرات اعمال بشه باید برای اون هم از تریگر استفاده کنید.
اگر جستجو بفرمائید هم در سایت کتاب هست که تریگر رو کامل توضیح داده هم در تاپیکهای مختلف بررسی شده است.

mahmood1000
شنبه 27 آذر 1389, 08:50 صبح
جناب صادقیان من گشتم اما لینکی پیدا نکردم.
من SQL زیاد بلد نیستم واسه همینم به راهنمایی نیاز دارم . دارم رو پروژه دانشگاه کار میکنم واشه همینم یه مقدار عجله دارم.
در صورت نیاز راهنمایی کنید.

با تشکر

حمیدرضاصادقیان
شنبه 27 آذر 1389, 09:01 صبح
سلام.
در این لینک (http://barnamenevis.org/showthread.php?255710-%D9%81%D9%87%D8%B1%D8%B3%D8%AA-%D9%85%D8%B7%D8%A7%D9%84%D8%A8-%D8%A8%D8%AE%D8%B4-SQL-Server) من موارد موجود در تاپیک رو دسته بندی کردم میتونید در قسمت اموزش مقدماتی SQL Server این مورد رو پیدا کنید.

اینم لینک (http://barnamenevis.org/showthread.php?106494-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AA%D8%AD%D8%AA-SQLServer&highlight=) یک کتاب که عرض کردم درتاپیک موجود هست.

mahmood1000
شنبه 27 آذر 1389, 12:16 عصر
دوستان این trigger کجا باید نوشته بشه؟

hossein_h62
شنبه 27 آذر 1389, 12:21 عصر
توی QA کد تریگر رو بنویسید ایجاد میشه.
اگر هم از نسخه 2000 استفاده میکنید غیر از QA میتونید روی جدول مربوطه راست کلیک کنید و All Task>Manage Triggers... رو انتخاب کنید و تریگرتون رو ایجاد کنید.

mahmood1000
یک شنبه 28 آذر 1389, 09:36 صبح
دوستان عزیز با تشکر
من این رابطه را برقرار کردم. هم UPDATE میشه هم INSERT و ...
یه مشکل این وسط هست که دو فیلدی که من دارم به هم ربط میدم هر دو PK هستن و باید باشن، حالا وقتی تو سطر تو اطلاعات وارد میکنم میخوام برم به سطر دوم ارور میده.
علت چی متونه باشه و راهکار چیه؟

hossein_h62
یک شنبه 28 آذر 1389, 10:19 صبح
چه خطایی دریافت میکنید ؟
ممکن فیلدی که دارین پر میکنید identity باشه!

mahmood1000
یک شنبه 28 آذر 1389, 10:42 صبح
نه دوست عزیز Identity نیست، اینو مطمعنم.
متاسفانه الان دسترسی ندارم تو شرکتم.

f_arab
یک شنبه 28 آذر 1389, 15:26 عصر
وقتی تو سطر تو اطلاعات وارد میکنم میخوام برم به سطر دوم ارور میده.
علت چی متونه باشه و راهکار چیه؟
سلام دوست عزیز
ممکنه توی table2 فیلدی داشته باشی که خاصیت allow null برای اون فعال نباشه و وقتی یک رکورد به table1 اضافه میکنی با تریگری که نوشتی اون فیلد پر نشه و باعث خطا بشه
اگه مشکلت این نبود بهتره خطایی که دریافت می کنی رو تو سایت بذاری تا دوستان بتونن بهتر راهنماییت کنن:چشمک:
موفق باشی