PDA

View Full Version : سوال: چند سوال در مورد حذف از 2 جدول



s.iran
چهارشنبه 13 خرداد 1388, 01:16 صبح
سلام دوستان
چند سوال در مورد حذف از 2 جدول:
2 جدول دارم یکی مربوط به نویسنده و یکی مربوط به کتاب ها، میخوام وقتی که نویسنده حذف شد کتابهای مربوط به نویسنده هم حذف شود.

آیا میشه با یک دستور delete اطلاعات را از هر 2 جدول پاک کرد ؟؟
برای استفاده از تریگر چه جوری میشه فهمید که کدون نویسنده حذف شده تا کتاب ها را حذف کرد؟؟(( در واقع نمی دونم شرط مربوط به delete از جدول کتاب را چی بزارم و id نویسنده که پاک شده از کجا بیارم؟؟)

لطفا راهنمایی کنید
با تشکر

pesar irooni
چهارشنبه 13 خرداد 1388, 03:30 صبح
یه Relation بینشون برقرار کن (از نوع کلید اصلی و خارجی) و گزینه های cascade on delete و cascade on update رو تیک بزن.

pooyamirzapour
چهارشنبه 13 خرداد 1388, 18:54 عصر
CREATE TRIGGER [dbo].[TriggerName]
ON Writer AFTER DELETE
AS
BEGIN
DECLARE @ID INT
SELECT @ID=ID FROM DELETED
DELETE BOOK
WHERE WriterID=@ID
END

حمیدرضاصادقیان
چهارشنبه 13 خرداد 1388, 22:20 عصر
سلام.روش اولی که پیشنهاد شد بهتره.زیرا تریگر سربار زیادی روی دیتابیس شما داره..یا میتونی یک sp بنویسید و داخل یک transaction عمل حذف رو از دو جدول انجام بدید. به این صورت مطمئن هستید که اینکار صورت خواهد گرفت.
موفق باشید

s.iran
پنج شنبه 14 خرداد 1388, 15:43 عصر
یه Relation بینشون برقرار کن (از نوع کلید اصلی و خارجی) و گزینه های cascade on delete و cascade on update رو تیک بزن.

سلام
ممنون از جواب.
من زیاد با sql کار نکردم ممکنه بگید این گزینه ها کجا باید تیک بزنم؟؟

s.iran
پنج شنبه 14 خرداد 1388, 15:49 عصر
سلام.روش اولی که پیشنهاد شد بهتره.زیرا تریگر سربار زیادی روی دیتابیس شما داره..یا میتونی یک sp بنویسید و داخل یک transaction عمل حذف رو از دو جدول انجام بدید. به این صورت مطمئن هستید که اینکار صورت خواهد گرفت.
موفق باشید
سلام
ممکنه در این مورد یک مثال بنویسید.
من نتونستم در یک sp یک دستور delete برای 2 جدول بنویسم.
لطفا کمک کنید.
ممنون.

niloofar norouzi
جمعه 15 خرداد 1388, 17:39 عصر
من زیاد با sql کار نکردم ممکنه بگید این گزینه ها کجا باید تیک بزنم؟؟

در دیاگرام روی جدول موردنظر کلیک راست-relationships-را انتخاب کن و در insert and update specification موارد delete rule و update rule گزینه ی cascade انتخاب شود.