PDA

View Full Version : سوال: trigger after insert



mbasirati
جمعه 05 آذر 1389, 21:39 عصر
سلام
یک تریگر از نوع after insert برای جدول 1 ایجاد کرده ایم که بدنه این تریگر قطعه کدی است که کار درج در یک جدول 2 را انجام می دهد.اگر هنگام اجرای تریگر که مسلما بعداز عمل درج در جدول 1 اتفاق می افتد خطایی رخ دهد(مثلا برق قطع شود) عمل درج در جدول 1 انجام می شود یا نه؟چرا؟
جوابش اینه که درج انجام نمیشه ، حالا چرا؟

Reza_Yarahmadi
جمعه 05 آذر 1389, 22:11 عصر
علتش اینه که دو دستور جدا از هم هستند و هر دستور جداگانه commit میشه.
یکی از دلایلی که گفته میشه از تریگر استفاده نشه همینه که دو دستور در یک Transation انجام نمیشه. بهتر اینه که دستورات تریگر رو در SP درج بیارید و با دستورات Begin Tran و Commit Tran هر 2 دستور رو در یک Transaction قرار بدید.