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

استفسار هام...محتاج الشرح ... عاجل


predator jaw

Recommended Posts

create procedure raise_salary(dept_no number, percentage number DEFAULT 0.5) is


cursor emp_cur is
select SAL , emp_id from EMP where DEPTNO = dept_no;
emp_rec emp_cur %rowtype;
begin
open emp_cur;
loop

gomar: fetch emp_cur into emp_rec;
exit when emp_cur%NOTFOUND;
update EMP set SAL = emp_rec.sal * ((100 + percentage)/100)
where emp_id = emp_rec .emp_id;
end loop;
close emp_cur;
commit;
end raise salary:

أرجو شرح الكود

تم تعديل بواسطة predator jaw
رابط هذا التعليق
شارك

هذا بروسيجر يستقبل متغيرين
الاول هو رقم القسم والثاني هو النسبة والقيمة الافتراضية للنسبة = 0.5
تم تعريف كيرسر يقوم باستعلام يجلب حقل الراتب وحقل رقم الموظف بشرط ان يكون رقم القسم يساوي رقم القسم الذي يستقبله البروسيجر وهو المتغير الاول
تم تعريف متغير emp_rec emp_cur %rowtype; وهو ياخذ نفس نوع الحقل الموجود في الكيرسر
ومن ثم قام بتشغيل الدوران على الكيرسر
ووضع قيمة الكيرسر كريكورد في المتغير الذي له نفس نوع الكيرسر
واخيرا قام بتحديث جدول الموظفين وقام بعملية حسابية على الراتب فقط لاغير

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية