PDA

View Full Version : سوال: مشكل در حذف با جداول ارتباطي



maryamgol
پنج شنبه 13 آبان 1389, 09:37 صبح
دو جدول رابطه يك به چند دارند.براي حذف كردن اگه آي دي جدول يك چند بار درجدول 2 باشد و لي تنها خواسته باشيم يكي از ركوردها را حذف كنيم چيكار بايد بكنيم.

ایمان مدائنی
پنج شنبه 13 آبان 1389, 09:53 صبح
خب وقتي شما دستور بدي مثلا آي دي 1 رو پاك كن اون تمام آي دي هاي يك را پاك ميكند
ميتوني از فيلد ديگري براي شرط گذاشتن براي پاك كردن استفاده كني

maryamgol
پنج شنبه 13 آبان 1389, 10:05 صبح
بقيه فيلدها هم در جدول يك مثل آي دي هستند آخه جدول يك تنها اطلاعات شخصي هست.

mahdi87_gh
پنج شنبه 13 آبان 1389, 11:27 صبح
شما میخواین اطلاعات از کدوم جدول پاک بشه؟ جدول 1 (جدول با کلید اصلی) یا جدول2 (جدول با کلید خارجی)
اگه از جدول 1 میخواین حذف کنید، باید Delete در ریلیشن رو در حالت Cascade قرار داده باشید، یا خودتان ابتدا همه رکوردهای جدول 2 که مرتبط با رکورد جدول1 که میخواین حذفش کنید؛ رو جذف کنید. در غیر این صورت خطا میده
اگه از جدول2 میخواین حذف کنید، شما توی جدول2 هم باید یک کلید اصلی داشته باشین که در این حالت باید ترکیبی از فیلدهای خود جدول2 و کلیدهای خارجیش باشه. در شرط حذف هم همه این فیلدهایی که بطور ترکیبی باهم کلید اصلی جدول2 رو ایجاد میکنند رو باهم and کنید

maryamgol
پنج شنبه 13 آبان 1389, 11:44 صبح
من از جدول 1 و 2 يك كوئري ساختم حالا اگه دستور بدم از جدول 1 حذف كنه تمام ركوردهايي كه به اون آي دي وصل هستند حذف ميشه.
باز اگه بگم از جدول 2 حذف بشه اگه آن ركورد فقط يه بار ذخيره شده باشد در جدول 1 اطلاعات آن باقي مي ماند.

mahdi87_gh
پنج شنبه 13 آبان 1389, 11:56 صبح
باز اگه بگم از جدول 2 حذف بشه اگه آن ركورد فقط يه بار ذخيره شده باشد در جدول 1 اطلاعات آن باقي مي ماند.
میخوای از جدول1 هم پاک بشه؟

ایمان مدائنی
پنج شنبه 13 آبان 1389, 11:58 صبح
اگه از جدول اصلي پاك كني فكر كنم از جداول فرزند هم پاك بشه

maryamgol
پنج شنبه 13 آبان 1389, 12:18 عصر
اگه از جدول دو حذف بشه و ديگه نيازي به اون در جدول 1 نباشه خوب بايد اون هم پاك بشه و اگه در ركوردهاي ديگر نياز بود پاك نشه

mahdi87_gh
پنج شنبه 13 آبان 1389, 12:43 عصر
یه storedprocedure تعریف کن. اول تعداد رو بشمار، از یکی بیشتر بود از جدول2 حذف کن. در غیر این صورت از جدول 1 حذف کن که هر دوتاشون حذف شن
موفق باشی