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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

Exception On Plsql


4 رد (ردود) على هذا الموضوع

#1 wed579

wed579

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 26 December 2009 - 07:23 PM

اكتب بلك pl/sql لاسترجاع اسم الموظف صاحب راتب معين.
1. إذا الراتب المدخل تسبب في استرجاع اكثر من سطر، عالج الاستثناء الناتج بالمعالج المناسب وادرج في جدول message الرسالة "هناك اكثر من موظف لهم راتب"
<salary>
2. إذا الراتب المدخل لم يسترجع أي سطر عالج الاستثناء الناتج بالمعالج المناسب و إدرج في جدول message الرسالة "لايوجد موظفون لهم رواتب"<salary>
3. إذا الراتب المدخل يسترجع سطرا واحد فقط،ادرج في جدول message اسم الموظف وراتبه
4.عالج أي استثناء آخر بالمعالج المناسب وادرج في جدول message الرسالة"حدث هناك خطأ ما"
النتيجة او المخرجات كالتالي
محمد - 2000
هناك اكثر من موظف له راتب 500
لايوجد موظفون لهم رواتب 3500
السؤال الثاني
اكتب بلك pl/sql لتعديل موقع دائرة معينة في جدول dept بالطلب من المستخدم إدخال رقم الدائة وموقع الدائرة الجديد باستخدام المتغيرات التعويضية
1. اكتب معالج استثناء في حالة أن رقم الدائرة المدخل غير موجود يقوم بتمرير رسالة للمستخدم مفادها أن هذه الدائرة غير موجودة
2. نفذ بلك pl/sql وادخل رقم دائرة غير موجود فعلا.
النتيجة او المخرجات كالتالي
please enter department number : 50
please enter department location :huston
message: الدائرة 50 غير موجودة
السؤال الثالث
اكتب بلك pl/sql يقوم بطباعة عدد الموظفين الذين يكسبون نفس قيمة الراتب المدخل زائد أو ناقص 100.
1.اذا لم يكن هناك اي موظف بالمدى المحدد اطبع رسالة لمستخدم تخبره بهذا الحاله.
2. اذا كان هناك موظف أو أكثر بالمدى المحدد اطبع رسالة توضح عدد الموظفين بهذا الراتب.
3. اذا حدث اي استثناء آخر عالجه بالمعالج المناسب واطبع رسالة توضح أن هناك خطأ ما..

#2 @nana@

@nana@

    عضو نشط

  • الأعضــاء
  • 284 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Don't Say ,I Don't Know..But Try&& Error :(
    I Adore Oracle 4 Ever :D

تاريخ المشاركة 26 December 2009 - 09:57 PM

اكتب بلك pl/sql لاسترجاع اسم الموظف صاحب راتب معين.
1. إذا الراتب المدخل تسبب في استرجاع اكثر من سطر، عالج الاستثناء الناتج بالمعالج المناسب وادرج في جدول message الرسالة "هناك اكثر من موظف لهم راتب"
<salary>

set verify off
set serveroutput on declare
ename employees.last_name%type;
emp_sal employees.salary%type:=&sal;
begin select last_name into ename from employees
where salary=emp_sal;
insert into message values(ename || '-' || to_char(emp_sal));
exception
when NO_DATA_FOUND then
insert into message values('لايوجد موظفون لهم رواتب' || to_char(emp_sal));
when TOO_MANY_ROWS then
insert into message values('هناك اكثر من موظف لهم راتب' ||to_char(emp_sal));
when OTHERS then
insert into message values('حدث هناك خطأ ما' ||to_char(emp_sal));
end;



FatmaElgzar
https://www.facebook...acleJavaAcademy

http://www.facebook....gDream.Computer
Try 2 Change Ur Life 2 The Best
---------------------------------------
ياحى ياقيوم برحمتك أستغيث ، أصلح لى شأنى كله ولاتكلنى الى نفسى طرفة عين .

حسبى الله لااله الا هو ، عليه توكلت وهو رب العرش العظيم
--------------------------------------------------
905527214.gif


#3 @nana@

@nana@

    عضو نشط

  • الأعضــاء
  • 284 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Don't Say ,I Don't Know..But Try&& Error :(
    I Adore Oracle 4 Ever :D

تاريخ المشاركة 26 December 2009 - 10:21 PM

السؤال الثاني
اكتب بلك pl/sql لتعديل موقع دائرة معينة في جدول dept بالطلب من المستخدم إدخال رقم الدائة وموقع الدائرة الجديد باستخدام المتغيرات التعويضية
1. اكتب معالج استثناء في حالة أن رقم الدائرة المدخل غير موجود يقوم بتمرير رسالة للمستخدم مفادها أن هذه الدائرة غير موجودة
2. نفذ بلك pl/sql وادخل رقم دائرة غير موجود فعلا.
النتيجة او المخرجات كالتالي
please enter department number : 50
please enter department location :huston
message: الدائرة 50 غير موجودة

set verify off 
accept dept_no prompt 'please enter department number :'
accept dept_loc prompt 'please enter department location :'
set serveroutput on declare
id_error exception;
dept_no dept.deptno%type:=&dept_no;
dept_loc dept.loc%type:='&dept_loc';
begin update dept
set loc=dept_loc
where deptno=dept_no;
if sql%notfound then
raise id_error;
end if;
exception
when id_error then
dbms_output.put_line('&#1575;&#1604;&#1583;&#1575;&#1574;&#1585;&#1577;' || dept_no || ' &#1594;&#1610;&#1585; &#1605;&#1608;&#1580;&#1608;&#1583;&#1577;' );
end;

تم التعديل بواسطة @nana@, 26 December 2009 - 10:25 PM.


FatmaElgzar
https://www.facebook...acleJavaAcademy

http://www.facebook....gDream.Computer
Try 2 Change Ur Life 2 The Best
---------------------------------------
ياحى ياقيوم برحمتك أستغيث ، أصلح لى شأنى كله ولاتكلنى الى نفسى طرفة عين .

حسبى الله لااله الا هو ، عليه توكلت وهو رب العرش العظيم
--------------------------------------------------
905527214.gif


#4 @nana@

@nana@

    عضو نشط

  • الأعضــاء
  • 284 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Don't Say ,I Don't Know..But Try&& Error :(
    I Adore Oracle 4 Ever :D

تاريخ المشاركة 26 December 2009 - 10:49 PM

السؤال الثالث
اكتب بلك pl/sql يقوم بطباعة عدد الموظفين الذين يكسبون نفس قيمة الراتب المدخل زائد أو ناقص 100.
1.اذا لم يكن هناك اي موظف بالمدى المحدد اطبع رسالة لمستخدم تخبره بهذا الحاله.
2. اذا كان هناك موظف أو أكثر بالمدى المحدد اطبع رسالة توضح عدد الموظفين بهذا الراتب.
3. اذا حدث اي استثناء آخر عالجه بالمعالج المناسب واطبع رسالة توضح أن هناك خطأ ما..

set verify off
set serveroutput on declare
sal employees.salary%type:=&sal;
count_emp number(2);
err exception ;
begin select count(employee_id) into count_emp from employees
where (salary=sal+100) or (salary=sal-100);
if count_emp=0 then
raise err;
else
dbms_output.put_line('عدد الموظفين' || count_emp);
end if;
exception
when err then
dbms_output.put_line('لا يوجد موظفين');
when others then
dbms_output.put_line('يوجد خطأ');
end
;


FatmaElgzar
https://www.facebook...acleJavaAcademy

http://www.facebook....gDream.Computer
Try 2 Change Ur Life 2 The Best
---------------------------------------
ياحى ياقيوم برحمتك أستغيث ، أصلح لى شأنى كله ولاتكلنى الى نفسى طرفة عين .

حسبى الله لااله الا هو ، عليه توكلت وهو رب العرش العظيم
--------------------------------------------------
905527214.gif


#5 wed579

wed579

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 27 December 2009 - 04:44 PM

جزاكم الله كل خير