الانتقال إلى المحتوى

سوال فى Triggers


mostfa_future

Recommended Posts

السلام على من اتبع الهدى


لو عندى متلا جدول 1 عايز اعمل عليها Triggers بحيت بعد كل عمليه UPDATE
يتعمل فى جدوال 2 جمله INSERT
المشكله مش بيرضى يعمل COMMIT بطلع ايرور بيالى ماينفعش تعمل COMMIT او رول باك من Triggers
جربت اعمل جمله INSERT
فى PROCEDURE
وخلى Triggers يعمل caall
للا PROCEDURE بردك منفعش
ارجو التوضيح حل المشكله لو ينفع تعمل COMMIT
يارت توضح بكود صغير
وجزاكم الله خيررررررر

رابط هذا التعليق
شارك

اخي الحبيب
اعمل جملة insert داخل الـ trigger وسيتم الحفظ مباشرة بدون ما تكتب بعد الادخال commit
جربها وبالتوفيق

رابط هذا التعليق
شارك

اخى الكريم لسه مجربتش بس لو عايز اعمل رولا باك على نفس الجدول بعد تتطابق شرط معين بس بدون عباره RAISE_APPLICATION_ERROR
وشكرا هلى اهتمامك

رابط هذا التعليق
شارك

اخي الكريم جرب وضع الكود في POST-FORMS-COMMIT على مستوى الشاشة
ولا يحتاج الى كتابة COMMIT لانه في حالة حفظ الشاشة يتم حفظ جملة INSERT
وذا كانت الشروط لا تنطبق وتريد عدم الحفظ يمكن استخدام RAISE FORM_TRIGGER_FAILUER

رابط هذا التعليق
شارك

من قواعد كتابه الداتا بيز تريجر انه يتم تنفيذ الترانزاكشن كامله او التراجع عنها كامله و بالتالي لا يمكن كتابه كوميت او رول باك
ولكن هناك استثناء وهوا استخدام ترانزاكشن منفصله باستخدام هذه البراجما
PRAGMA AUTONOMOUS_TRANSACTION
وده شرحها
http://www.psoug.org/reference/autonomous_tx.html

وهي تقوم بفتح ترانزاكشن منفلصه لل بي ال كود سواء تريجر او بروسيدجورال
ويجب ان ينتهي الكود ب كويت او رول باك
ومن الاستخدامات المشهوره لها اوديت الايرور بمعني انك تريد عند حدوث ايرور ان يتم تخزينه في جدول للمتابعه وفي نفس الوقت لايمكنك الكوميت لان الانسرت علي نفس الترانزاكشن وده الحل بتاعها

وبالمناسبه ده سؤال من اسئله الانترفيو للسنيور ديفلوبرز :unsure:)

تحياتي

رابط هذا التعليق
شارك

اخوانى انتم مش فهامنى
انا دلوقتى دخلت جمله انسيرت دلوقتى trigger بقى فاير
لو متلا جمله الانسريت دى فيها شرط معين يعنى متلا لو user ده
بلاش تعمل جمله انسيرت دى انا كنت بعمل ل RAISE_APPLICATION_ERROR
ده كان بيعمل رول باك بس انا عايز حل تانى اخى عبدالله ندا
PRAGMA AUTONOMOUS_TRANSACTION
انا فهامو ده بيفتح الترانزاكشن جديد
تعمل فى اى حاجه
وبعد كده برجع الترانزاكشن القديم زاى ماهو متغير ش
مش عارف الوعملت PRAGMA AUTONOMOUS_TRANSACTIONهل يعمل رول باك للجمله
ارجو التوضيح
الكلام ده كل على مستوى pl مش الفورمز

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية