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

واجب :cursor لعرض أعلى 3 للرواتب للموظفين


توت العلم

Recommended Posts

السلام عليكم

أسعد الله مساءكم

عندي homwork المطلوب فيه هو:

عمل cursor يستقبل رقم من المستخدم مثلا :رقم 4

ثم يقوم بطباعة او عرض أكبر 4 رواتب للموظفين


يعني مثلا: هذا الجدول
ahmad 5000

ali 4000

yasser 9000

noor 3000

ثم يستقبل رقم 2 من المستخدم فتكون النتيجة هي كالتالي:

yasser 9000

ahmad 5000


أتمنى أنكم فهمتوا المطلوب وشكرا

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

تقدر حضرتك تدخل بأاه سواء اكبر 4 او 2 رواتب للموظيفين

set verify off
set serveroutput on declare 
 num number(2):=&p_num;
 sal   employees.salary%type;
 cursor emp_cursor is 
 select distinct salary
 from employees order by salary desc;
begin open emp_cursor;
 loop
 fetch emp_cursor into sal; exit when emp_cursor%rowcount>num ;
 dbms_output.put_line(sal);
 end loop;
 close emp_cursor;
end;

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


يوجد احل اخر أخي / اختي الفاضل /الفاضلة



declare
v_count number := 1;
p_counter number := &x;
 begin
 for rec in (select ename,sal from emp
			 order by sal desc ) loop
if v_count = p_counter then
 dbms_output.put_line('Name  '||rec.ename||'  sal '||rec.sal);
  exit;
else
 v_count := v_count + 1;
 dbms_output.put_line('Name  '||rec.ename||'  sal '||rec.sal);
end if;
end loop;
 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.

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

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

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