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

exceptions


sweet_qatar

Recommended Posts

  • بعد 2 أسابيع...

ال exception ببساطة ينقسم الى قسمين
1. oracle defined معرف من قبل اوراكل
2.user defined معرف من قبل المستخدم
** النوع الاول
تكتب الجمل التى تريدها وعند وجود شك فى اى جملة انها ممكن تطلع مشكلة تضعها بين جملة begin و end وتعمل ال exception بالطريقة التالية

begin some statments .......;

exception
when  exception_name then
do some thing
end ;


حيث exception_name هو اسم الexception المعرف من قبل اوراكل مثل
NO_DATA_FOUND,
DUP_VAL_ON_INDX
و بعدها تكتب الجمل التى تريد تنفيزها فى حالة الEXCEPTION
ويمكن استخدام ال EXCEPTION مثل جملة IF ELSE
كالتالى

BEGIN ..
...

EXCEPTION
WHEN NO_DATA_FOUND THEN
STATMENT 1;
WHEN OTHERS THEN
STATMENT 2;
END;



عند حدوث ال EXCEPTION
لو ال EXCP.الاول هو اللى حدث يتم تنفيذ STATMENT 1
او لو EXCP. الثانىهو اللى حدث يتم تنفيذ STATMENT 2

عند

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

** النوع الثانى و هو المعرف من قبل المستخدم
و يكون بنفس الطريقة السابقة و الاختلاف بيكون فى خطوتين
1. تعريف اسم ال exception فى جزء ال DECLARE
2. عند الحدث المراد تشغيل ال exception فية يتم كتابة الجملة
RAISE exception_name ;
وذلك كالتالى

DECLARE
  total_sales NUMBER := 0;
  cust_sales NUMBER;
  sales_domination EXCEPTION;
BEGIN SELECT SUM (sales) INTO cust_sales FROM invoice WHERE customer_id = 1001;
  IF cust_sales / total_sales > .5
  THEN
     RAISE sales_domination;
  END IF;
EXCEPTION
  WHEN ZERO_DIVIDE
  THEN
     DBMS_OUTPUT.PUT_LINE
        (' We haven''t sold anything. We are bankrupt!');
  WHEN sales_domination
  THEN
     DBMS_OUTPUT.PUT_LINE
        (' Customer 1001 accounts for more than half of all sales!');
END;

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

  • بعد 4 سنة...

السلام عليكم ... اولا جزاكم الله خيــرا على هذا العطاء ولاكن بالله عليكم انا اريد تعلم الاوركل SQL & SQL/PL
لآنى فى امس الحاجة لهم ويا ريت لو كانت فيديو لسهولة تعليمة
[email protected] وهذا ايميلى الشخصى
والسلام عليكم ورحمة الله وبركاتة

تم تعديل بواسطة Eng / Mohamed Ahmed
رابط هذا التعليق
شارك

  • بعد 8 شهور...

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

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

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

×   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.

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

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

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