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

اريد اضفة اضافة * لكل 100 من الراتب (صحح الكود)


ab0_s3d

Recommended Posts

السلام عليكم ورحمة الله وبركاته
انشأة عمود في جدول ال emp باسم stars و اريد
ان اضيف * في العمود stars لكل 100 من راتب الموظف.
لنفرض ان الموظف راتبه 1000 هذا يعني انه سيحصل على * * * * * * * * * *

حاولت كتابة الكود وتوصلت الى الكود التالي لا كنه اضاف ال * لكل الموظفين على حسب راتب اول موظف

فبما ان اول موظف راتبه 800 و يستحق 8 من * فالكود اعطى كل الموظفين 8 من *

اتمنى اني وضحت ما اريد من الكود - و الخطأ الذي وقعت فيه

و اتمنى منكم المساعدة في التصحيح

declare
no emp.empno%type:=&no;
a_sal number(7);
b_sal number(7);
v_sta varchar2(50):=' ';
cursor sal_emp is
select sal
from emp; begin open sal_emp;
fetch sal_emp into a_sal; b_sal:=(a_sal-50)/100;
dbms_output.put_line(b_sal);
for i in 1..b_sal loop
v_sta:=v_sta||'*';
end loop;
dbms_output.put_line(v_sta);
update emp
set stars=v_sta;
close sal_emp;
end;
/

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

brother see solution


declare
no emp.empno%type;
a_sal number(7);
b_sal number(7);
v_count number:=0;
v_sta varchar2(50):=' ';
cursor sal_emp is
select sal,emp_no
from emp;
begin open sal_emp;
loop
fetch sal_emp ,emp_no into a_saln,no;
b_sal:=(a_sal)/100;
dbms_output.put_line(b_sal);
for i in 1..b_sal loop
v_sta:=v_sta||'*';
end loop;
v_count:=v_count+1;
dbms_output.put_line(v_sta);
update emp
set stars=v_sta
where emp_no=no;
exit when v_count >= sal_emp%rowcount;
end loop;
close sal_emp;
end;
/

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

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

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

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

×   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.

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

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

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