بتاريخ: 15 ديسمبر 201114 سنة comment_218620 create procedure raise_salary(dept_no number, percentage number DEFAULT 0.5) is cursor emp_cur isselect SAL , emp_id from EMP where DEPTNO = dept_no;emp_rec emp_cur %rowtype;beginopen emp_cur;loopgomar: 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: أرجو شرح الكود تم تعديل 15 ديسمبر 201114 سنة بواسطة predator jaw تقديم بلاغ
بتاريخ: 15 ديسمبر 201114 سنة comment_218629 هذا بروسيجر يستقبل متغيرينالاول هو رقم القسم والثاني هو النسبة والقيمة الافتراضية للنسبة = 0.5تم تعريف كيرسر يقوم باستعلام يجلب حقل الراتب وحقل رقم الموظف بشرط ان يكون رقم القسم يساوي رقم القسم الذي يستقبله البروسيجر وهو المتغير الاولتم تعريف متغير emp_rec emp_cur %rowtype; وهو ياخذ نفس نوع الحقل الموجود في الكيرسرومن ثم قام بتشغيل الدوران على الكيرسرووضع قيمة الكيرسر كريكورد في المتغير الذي له نفس نوع الكيرسرواخيرا قام بتحديث جدول الموظفين وقام بعملية حسابية على الراتب فقط لاغير تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.