PDA

View Full Version : حذف رکورد از جدول اصلی و حذف اتوماتیک فرعی



Valadi
دوشنبه 26 شهریور 1386, 13:54 عصر
دو تا کوئری هست
1 - اصلی
2 - فرعی
هر دوکوئری یک فیلد ID اندیس به هم ارتباط دارند ( با دستور Sql ) حالا می خواهم هر وقت یک فیلد از کوئری اول حذف شد در کوئری دوم تمام ID مربوطه به ID کوئری اول اتوماتیک حذف شود

به عبارت دیگر :
با حذف در کوئری پدر اتوماتیک از کوئری فرزند حذف شود

پرواز
دوشنبه 26 شهریور 1386, 15:58 عصر
جناب ولدی این سوال مربوط به بانک میشه.
ولی جوابش اینه:
شما وقتی که بانک تعریف می کنی باید نوع ارتباط رو که یک به چند میذاری اگه تو محیط گرافیکی باشی دوتا تیک دیگه داره. اگه بزنی اینی که میگی خودبخود عملی میشه.
یکیش اینه: Casecade Update Related Fields که این برای اینه که اگه اندیس تو جدول پدر تغییر کرد تو جدول فرزند هم تغییر کنه.
یکیش اینه: Casecade Delete Related Records که اینم برا همونیه که شما پرسیدی. یعنی با پاک شدن یه رکود از جدول مستر تمام رکوردهای مرتبط در جدول دیتیل پاک میشه.
البته این کار دیتابیسی بود. شما می تونی خودت این کار رو با کد انجام بدی.

SYNDROME
دوشنبه 26 شهریور 1386, 17:58 عصر
با سلام
می توانید خودتان هم به وسیله تریگر ها این مدیریت را انجام دهید.
موفق باشید

champion
سه شنبه 27 شهریور 1386, 00:34 صبح
به غیراز Trriger اگه بین 2 تا جدول Relation هم بر قرار کرده باشی این اتفاق خودکار انجام خواهد شد .

vcldeveloper
سه شنبه 27 شهریور 1386, 00:40 صبح
به غیراز Trriger اگه بین 2 تا جدول Relation هم بر قرار کرده باشی این اتفاق خودکار انجام خواهد شد .
خیر، بصورت خودکار همچین اتفاقی نمیافته!

پرواز
سه شنبه 27 شهریور 1386, 00:53 صبح
خیر، بصورت خودکار همچین اتفاقی نمیافته!
به طور خودکار میشه. البته با این شرط که گفتم. یعنی ارتباط همراه با تیک Casecade Delete Related Records.

vcldeveloper
چهارشنبه 28 شهریور 1386, 14:08 عصر
به طور خودکار میشه. البته با این شرط که گفتم. یعنی ارتباط همراه با تیک Casecade Delete Related Records.
اینو که می دونستم، منظور این بود که برقراری ارتباط بین دو جدول شرط کافی برای انجام خودکار این کار نیست.

پرواز
چهارشنبه 28 شهریور 1386, 20:01 عصر
اینو که می دونستم، منظور این بود که برقراری ارتباط بین دو جدول شرط کافی برای انجام خودکار این کار نیست.
پس من اشتباه تشخیص دادم.