الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجوا المساعده!

بدأه nadaaafj في 15 فبراير 2009 · 1 رد · 758 مشاهدة · في قسم لغة الاستفسارات SQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

ابي مساعده في حل هذا السؤال الله يجزاكم كل خير

السؤال هو

اكتب بلك PL/SQL لاسترجاع اسم الموظف صاحب راتب معين

1_اذا الراتب المدخل تسبب في استرجاع اكثر من سطر عالج الاستثناء الناتج بالمعالج المناسب وادرج في الجدول MESSAGESالرساله هنالك اكثر من موظف لهم راتب <Salary>

2_اذا الراتب المدخل يسترجع اي سطر عالج الاستثناء الناتج بالمعالج المناسب وادرج في جدول MESSAGES الرسالة لايوجد موظفون لهم رواتب" <Salary>

3_اذا الراتب المدخل يسترجع سطرا واحدا فقط ادرج في جدول MESSAGES اسم الموظف وراتبه

4_عالج اي استثناء آخر بالمعالج المناسب وادرج في جدول MESSAGES "الرسالة حدث هناك خطأ ما"

5_قم بتجريب الحالات المختلفه في البرنامج المكتوب وتفحص محتويات الجدول MESSAGES

الجدول

RESULTS

محمد- 2000

هناك اكثر من موظف له راتب 500

لايوجد موظفون لهم رواتب3500

#2

بســم الله الـرحمــن الرحيــم

أتوقع انه هذا هو الحل

  1. DECLARE
  2.  
  3. EMPSAL1 NUMBER (10) :=&A;
  4. ENAME VARCHAR2 (20);
  5. TESTSAL NUMBER (10);
  6. X NUMBER;
  7. CURSOR C1 IS SELECT ENAME,SAL
  8. FROM EMP
  9. WHERE SAL=EMPSAL;
  10. BEGIN
  11. OPEN C1;
  12. FETCH C1 INTO ENAME,TESTSAL;
  13. SELECT COUNT(SAL) INTO X
  14. FROM EMP
  15. WHERE SAL=EMPSAL;
  16. IF
  17. X>1 THEN
  18. DBMS_OUTPUT.PUT_LINE('THERE ARE MORE THEN ONE EMP HAS THIS SAL');
  19. ELSIF
  20. C1%NOTFOUND THEN
  21. DBMS-OUTPUT.PUT_LINE('SORY,NO EMP HAS THIS SAL');
  22. ELSE
  23. DBMS_OUTPUT.PUT_LINE(ENAME||' '||TESTSAL);
  24. END IF;
  25. CLOSE C1;
  26. END;
  27.  

مواضيع مشابهة