PDA

View Full Version : جامعیت ها با تریگر



irpersian20
پنج شنبه 19 اردیبهشت 1392, 09:36 صبح
سلام
میگن میشه جامیعت ها با تریگر ها تحت کنترل گرفت
من مثالی دیدم. اما واقعا کاربرد کجاست؟ هنگام ساخت جدول که وقتی جدول references رو براش مشخص کنیم
هنگام انجام عملیات DDL,DML خودش میره چک میکنه . چرا تریگر؟

irpersian20
پنج شنبه 19 اردیبهشت 1392, 10:47 صبح
اعمال يكپارچگي ارجاعي

تريگرها براي اعمال يكپارچگي ارجاعي نيز بكار مي‌روند. اين كار هدف اصلي آنها در پايگاه داده است. بخصوص براي حذفها و به روز رساني پله‌اي مفيدند. تريگرها در پايان تغييرات داده‌اي كنترل مي‌شوند در حاليكه قيود در ابتدا كنترل مي‌شوند. اگر قيدي نقض شود. هيچ تريگري فعال نمي‌شود. تريگر زير يكپارچگي داده‌اي را اعمال مي‌كند. از طريق اين تريگر مطمئن مي‌شويم كه در صورت درج يك ركورد جديد در جدول Sales حتما كد فروشگاه معتبر آن در جدول stores وجود دارد.
CRETAE TRIGGER trInsUpdSales
On tblSales
FOR INSERT, UPDATE AS
IF(SELECT COINT(*) FROM tblStores , inserted
WHERE tblStores.stor_id = inserted.stor_id) =0
BEGIN
PRINT ‘The stor_id you have entered does not exist’
PRINT ‘in the stores table’
ROLLBACK TRANSACTION
END

مثلا مثال بالا
قبل از اینکه بخواد تریگر چک کنه. گیر میده و میگه کلید خارجی و کلیید اصلی جدول هات مشکل داره
دیگه به چک شدن تریگر نمیسه

irpersian20
چهارشنبه 01 خرداد 1392, 16:10 عصر
سلام لطفا کسی اطلاعاتی دارد دریغ نفرماید