الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيفيه عمل Case Statment

Featured Replies

بتاريخ:

اخواني في الله جمله بسيطه تعودت عليها في باقي لغات البرمجه مثلcase statmentاعجز عنها في لغه اوراكل افتح الهيلب يكلي
switch variable
case (a):
case(:(:
end;اجربها لا تعمل عندي
فتحت كتاب اس كيو ال يكلي
case variable
when (1) then statment;
when (2) then statment;
end case
ولا تعمل عندي علما اني استعمل ديفلوبر 6 ما الحل والجمله الصجيحه
والا كرهت الاوراكل واعتبرته عاجز على الرغم من شهرته العالميه

بتاريخ:

بس هتكرهى الاوراكل عشان كدااااااااااااااا ..... :(
بصى حضرتك هى لغة c++ وماشبه كان فيها switch case



وكانت ع الصيغة التالية

Switch(expr){
Case  exp_a   : statement_a
Case  exp_b   : statement_b
:					
:
Default  
}



ف الاوراكل مفيش switch دى بأأه اسمها case بس
وهيا بتعمل عمل if then else
وصيغة case expression
Case expr when expr1 then returnexpr1
when expr2 then returnexpr2
……………………….
…………………………….
Else anotherexprrr
End
كان ف مثال لذيذ ف السيكول ال كان بيشتغل ع الوظيفة وع اساسها بيزود المرتب بتاع الموظف اعتقد



select first_name,job_id,
      case job_id when 'ST_CLERK' then 2*salary
                  when 'IT_PROG'  then 2.5*salary
      else        salary  end "new salary"
from employees


ال job_id دا ال expr ال selector يعنى ال هتشتغلى عليه


فرضا لو هتستخدميها ف كود pl

set serveroutput on declare 
x number; 
begin select       case job_id when 'ST_CLERK' then 2*salary
                        when 'IT_PROG'  then 2.5*salary
            else        salary  end  into x from employees                            
where employee_id=&empid;
dbms_output.put_line('new salary' || x);
end;



اسفة ع التقصير

تم تعديل بواسطة @nana@

بتاريخ:
  • كاتب الموضوع

بس ممكن تشرحلي بوضوح خطوه خطوه ليش دخلت caseفي وسط جمله ال selectاني عملت
case x
when 1 then message(1);
when 2 then message (2);
end; ولم تعمل عندي يعترض على ال case

بتاريخ:
  • كاتب الموضوع

جربت الكود الي انت كاتبه وايضا كان يعترض كلماا شاف caseانا بديت اكره اوراكل اكثر فاكثر

بتاريخ:
بس ممكن تشرحلي بوضوح خطوه خطوه ليش دخلت caseفي وسط جمله ال selectاني عملت
case x
when 1 then message(1);
when 2 then message (2);
end; ولم تعمل عندي يعترض على ال case


انا دخلتها ف جملة سيلكت لان انا اصلا بشتغل ع الكولم من جدول employees

وبعدين ماينفعش تقولى case لوحدها كدااا
فرضا لو مش عايزاها ف جدول سيكلت
دا مثال تانى
set serveroutput on declare 
grade char(1):=upper('&grade') ;
result varchar2(10);
begin result:=case grade when 'A' then 'EXCELLENT' 
                  when 'B' then 'VERY GOOD'
                  when 'C' then 'GOOD'
                  else  'fair' 
  end;
 dbms_output.put_line('Result is ' || result);
end;




بس ياريت تقولى ايه الخطأ ال بيظهر ليكى

بتاريخ:
  • كاتب الموضوع

اختي نانا اشكرك كثير كثير على طوله بالك معاي و صبرك على فهمي البطيء
اول شي انا بجرب امثلتك على ديفلوبر 6
ثاني شيء هو الكود الي كتبتيه جربته وطلعتلي رساله الخطأ هذي
encountered the symbol 'case' when expecting one of the following(-+mod not null <an identifier><a double -quated delimiited -identifier><abind variable>avg count current exist max min prior sqlstddev sum variance cast الخ تعبت من الكتابه بس اعتقد انك عرفتي المشكله من هذا error
ممكن ولو فيه ازعاج تبعثي لي الحل الله عليك

بتاريخ:

سورى بجد انا مااشتغلتش قبل كداا ع 6 بشتغل ع 10g :blink:

مش عارفة بجد بس اعتقد ال 6 مش support ال case

اتمنى حد يرد عليكى يكون اشتغل ع 6


وممكن تستخدمى decode بدلا منها

بس عشان خطرى بلاش تكرهى الاوراكل :rolleyes:

بتاريخ:
  • كاتب الموضوع

مشكوره حبيبتي نانا اعتقد انه لايدعمcase لانه كلما اكتبها يعترض
بس في الهيلب بتاعه كان اكو شرح لها بس اكتب لايعمل وكان فيه switch caseالمهم خسرنا اول شي case statmentمن اختارينا الاوراكل وكمان خسرنا ال debug والله اعلم حنخسر ايه الايام الجايه

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

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

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

Account

Navigation

البحث

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.