wed579 بتاريخ: 26 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 26 ديسمبر 2009 اكتب بلك 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 : 50please enter department location :hustonmessage: الدائرة 50 غير موجودةالسؤال الثالثاكتب بلك pl/sql يقوم بطباعة عدد الموظفين الذين يكسبون نفس قيمة الراتب المدخل زائد أو ناقص 100.1.اذا لم يكن هناك اي موظف بالمدى المحدد اطبع رسالة لمستخدم تخبره بهذا الحاله.2. اذا كان هناك موظف أو أكثر بالمدى المحدد اطبع رسالة توضح عدد الموظفين بهذا الراتب.3. اذا حدث اي استثناء آخر عالجه بالمعالج المناسب واطبع رسالة توضح أن هناك خطأ ما.. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
@nana@ بتاريخ: 26 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 26 ديسمبر 2009 اكتب بلك 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; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
@nana@ بتاريخ: 26 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 26 ديسمبر 2009 (معدل) السؤال الثانياكتب بلك pl/sql لتعديل موقع دائرة معينة في جدول dept بالطلب من المستخدم إدخال رقم الدائة وموقع الدائرة الجديد باستخدام المتغيرات التعويضية1. اكتب معالج استثناء في حالة أن رقم الدائرة المدخل غير موجود يقوم بتمرير رسالة للمستخدم مفادها أن هذه الدائرة غير موجودة2. نفذ بلك pl/sql وادخل رقم دائرة غير موجود فعلا.النتيجة او المخرجات كالتاليplease enter department number : 50please enter department location :hustonmessage: الدائرة 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('الدائرة' || dept_no || ' غير موجودة' ); end; تم تعديل 26 ديسمبر 2009 بواسطة @nana@ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
@nana@ بتاريخ: 26 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 26 ديسمبر 2009 السؤال الثالثاكتب بلك 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 ; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wed579 بتاريخ: 27 ديسمبر 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 27 ديسمبر 2009 جزاكم الله كل خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.