بتاريخ: 3 أبريل 201313 سنة comment_234503 السؤال: اكتب اجراء ( procedure) مستخدما pl/sql يطبع البيانات على الشكل التالي الذي في الصورة مساعدة : استخدم group by. الحل ولكن به أخطاء ولا أعرف ما هو الخطا أرجو منكم المساعدة create or replace procedure showData as CURSER EMPCUR IS SELECT deptno,max(sal),min(sal) FROM emp group by deptno order by deptno asc; REC1 EMP%ROWTYPE; begin OPEN EMPCUR; FETCH EMPCUR INTO REC1; WHILE EMPCUR%FOUND LOOP dbms_output.put_line(REC1.DEPTNO||' '||REC1.min(sal)||' '||REC1.MAX(SAL)); END LOOP; FETCH EMPCUR INTO REC1; end; / تقديم بلاغ
بتاريخ: 3 أبريل 201313 سنة comment_234504 السلام عليكم إليكِ الحل: CREATE OR REPLACE PROCEDURE showdata IS CURSOR empcur IS SELECT deptno, MAX (sal) max_salary, MIN (sal) min_salary FROM emp GROUP BY deptno ORDER BY deptno ASC; BEGIN FOR rec IN empcur LOOP DBMS_OUTPUT.put_line ( rec.deptno || ' ' || rec.max_salary || ' ' || rec.min_salary ); END LOOP; END; / تقديم بلاغ
بتاريخ: 4 أبريل 201313 سنة comment_234519 create or replace procedure showData as CURSER EMPCUR IS SELECT deptno,max(sal),min(sal) FROM emp group by deptno order by deptno asc; deptno1 emp.deptno%type; min_sal emp.sal%type; max_sal emp.sal%type; begin OPEN EMPCUR; Loop FETCH EMPCUR INTO deptno1, min_sal, max_sal; exit when empcur%notfound; dbms_output.put_line(deptno1||' '||min_sal|' '||max_sal); end loop; close empcur; end; تم تعديل 4 أبريل 201313 سنة بواسطة n_qasrawi تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.