بيان حالة Oracle PL / SQL

Byan Halt Oracle Pl Sql



يعد تدفق التحكم أحد اللبنات الأساسية في البرمجة. يحدد الترتيب الذي يتم به تنفيذ مجموعات التعليمات البرمجية المختلفة في البرنامج.

مثل معظم لغات البرمجة ، توفر لغة Oracle PL / SQL بيانات تدفق تحكم متنوعة مثل IF-THEN و CASE و FOR و WHILE وما إلى ذلك.







في هذا المنشور ، سوف نتعلم كيفية العمل مع بيان CASE في PL / SQL لتقديم تدفق التحكم في استعلامات Oracle الخاصة بنا.



مقدمة لبيان CASE

تسمح لك جملة CASE بتعريف سلسلة من العبارات. ثم يختار بيان الحالة تسلسلاً واحدًا لتنفيذه بناءً على الشرط المحدد.



فكر في الأمر كطريقة أكثر فاعلية للإعلان عن مجموعة من الكتل الشرطية مع الحفاظ على قابلية القراءة.





يمكننا التعبير عن بناء جملة بيان CASE في Oracle كما هو موضح في ما يلي:

قضية
عندما الشرط 1 ثم النتيجة 1
عندما الشرط 2 ثم النتيجة 2
...
نتيجة ELSE
نهاية

تقوم عبارة CASE بتقييم كل شرط في جمل WHEN في بناء الجملة هذا.



إذا عثرت العبارة على بيان مطابق ، فإنها تُرجع النتيجة المطابقة. ومع ذلك ، في بعض الحالات ، قد لا يجد بيان الحالة شرطًا مطابقًا. في مثل هذا السيناريو ، يقوم البيان بتنفيذ النتيجة المحددة في كتلة ELSE.

ملاحظة : كتلة ELSE اختيارية. في حالة عدم توفره ، يستخدم محرك قاعدة البيانات بناء الجملة التالي:

آخر:
RAISE CASE_NOT_FOUND ؛

يسمح هذا لمحرك قاعدة البيانات برفع استثناء وإيقاف التنفيذ مؤقتًا عندما لا يكون هناك شرط مطابق.

مثال 1: مثال أساسي لعبارة CASE

يوضح هذا المثال مثالًا أساسيًا لاستخدام عامل الحالة في Oracle:

يعلن
رقم العمر
شار دخول (10) ؛
يبدأ
العمر: = 24 ؛
عمر الحالة
عندما 17 ثم
الدخول: = 'مرفوض' ؛
عندما 24 ثم
الدخول: = '9.99' ؛
عندما 45 ثم
الدخول: = '15.99' ؛
آخر
الدخول: = 'غير مسموح به' ؛
حالة النهاية
DBMS_OUTPUT.PUT_LINE (إدخال) ،
نهاية؛

يجب أن يختبر الرسم التوضيحي المقدم أي شرط مطابق ويعيد الحالة المقابلة. على سبيل المثال ، نظرًا لأن شرط المطابقة هو 24 ، فإن الجملة ترجع على النحو التالي:

9.99

مثال 2: عبارة CASE مع جدول قاعدة بيانات

يستخدم هذا المثال بيان الحالة مع جدول قاعدة البيانات.

حدد اسم_الأول ، اسم_الأخير ، الراتب ،
قضية
عند الراتب 2500 ثم 'مرتفع'
آخر 'غير معروف'
تنتهي كحالة راتب
من الموظفين ؛

يستخدم الاستعلام المقدم بيان الحالة لاختبار نطاق الراتب من جدول الموظفين.

تكون القيمة الناتجة كما هو موضح فيما يلي:

استنتاج

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