日期:2014-05-17  浏览次数:20846 次

变量里面有多条记录怎么输出?
有一个程序它是这样子的:
CREATE OR REPLACE
PROCEDURE GET10OLDESTEMP( TMPDEPTNO IN NUMBER )
AS
EMPROWS EMP%ROWTYPE;
BEGIN
  SELECT * INTO EMPROWS FROM EMP WHERE DEPTNO = TMPDEPTNO AND ROWNUM <= 10 ORDER BY HIREDATE;
END GET10OLDESTEMP;


以前都是用DBMS_OUTPUT.PUT_LINE输出的,现在要怎么输出。。。EMPROWS,然后可以自动把每一个字段的值依次输出来么。。。对输出这一块不太清楚啊

------解决方案--------------------
使用游标输出多行数据
------解决方案--------------------
EMPROWS?EMP%ROWTYPE;--这样声明的只是单行数组

SELECT * INTO EMPROWS FROM EMP WHERE DEPTNO = TMPDEPTNO AND ROWNUM <= 10--这里加入ROWNUM<=10没有意义的,若返回超出1行,会报错

输出的话直接dbms_output.put_line(EMPROWS.empno
------解决方案--------------------
EMPROWS.ename
------解决方案--------------------
EMPROWS.job
------解决方案--------------------
EMPROWS.mgr
------解决方案--------------------
EMPROWS.sal);