هل Raise_application_error التراجع؟
هل Raise_application_error التراجع؟

فيديو: هل Raise_application_error التراجع؟

فيديو: هل Raise_application_error التراجع؟
فيديو: ГАЛКА и ГАМАЮН - Серия 1 / Детектив 2024, ديسمبر
Anonim

داخل الزناد أ RAISE_APPLICATION_ERROR يفعل لا تؤدي أ رول باك ، فإنه يحبط العملية الحالية ، أي UPDATE / INSERT / DELETE واحد. أ التراجع يعيد جميع التغييرات داخل المعاملة الحالية (أو حتى Savepoint المعطى) ، وهذا مختلف.

بهذه الطريقة ، ما هو Raise_application_error؟

أجب عن رفع_تطبيق_خطأ هو في الواقع إجراء تم تحديده بواسطة Oracle والذي يسمح للمطور برفع استثناء وربط رقم خطأ ورسالة بالإجراء. توفر أوراكل رفع_التطبيق_خطأ الإجراء للسماح لك برفع أرقام الأخطاء المخصصة داخل تطبيقاتك.

علاوة على ذلك ، ماذا سيحدث عندما يتم تنفيذ بيان التراجع داخل المشغل؟ عندما اثار حرائق الصفقة الحالية لا تزال غير مكتملة. كما ينهي COMMIT معاملة تسمح لهم في المشغلات كسر وحدة العمل. لذلك يتغير أعدم في الزناد يتم الالتزام بها (أو التراجع عنها) من خلال المعاملة المالكة التي أصدرت DML الذي أطلق ملف اثار.

ومن ثم ، ما هو الفرق بين Pragma Exception_init و Raise_application_error؟

براغما يؤدي الاستثناء init إلى تحويل خطأ Oracle إلى استثناء مسمى. إذا قامت عملية قاعدة بيانات بإثارة ORA-00054 "المورد مشغول" ، فسيتعين عليك كتابة:. رفع_التطبيق_الخطأ يستخدم لرفع خطأ - استثناء_نهاية يستخدم للتعامل مع الأخطاء (أعتقد أنه يمكنك القول أنها متناقضة في طريق).

ما هو سكلرم؟

SQLERRM وظيفة. الوظيفة SQLERRM إرجاع رسالة الخطأ المرتبطة مع وسيطة رقم الخطأ الخاصة به. إذا تم حذف الوسيطة ، فإنها تُرجع رسالة الخطأ المرتبطة بالقيمة الحالية لـ SQLCODE. SQLERRM بدون وسيطة مفيد فقط في معالج الاستثناء.

موصى به: