DBMS_SQL.LAST_ROW_COUNT返回的结果是什么,一般怎么用

解决方案 »

  1.   

    LAST_ROW_COUNT
        返回  INTEGER  取回记录的累计数
     
      

  2.   

    DECLARE
        curid           INTEGER;
        v_empno         NUMBER(4);
        v_ename         VARCHAR2(10);
        v_hiredate      DATE;
        v_sal           NUMBER(7,2);
        v_comm          NUMBER(7,2);
        v_sql           VARCHAR2(100) := 'SELECT empno, ename, hiredate, sal, ' ||
                                        'comm FROM scott.emp';
        v_status        INTEGER;
    BEGIN
        curid := DBMS_SQL.OPEN_CURSOR;
        DBMS_SQL.PARSE(curid,v_sql,DBMS_SQL.native);
        DBMS_SQL.DEFINE_COLUMN(curid,1,v_empno);
        DBMS_SQL.DEFINE_COLUMN(curid,2,v_ename,10);
        DBMS_SQL.DEFINE_COLUMN(curid,3,v_hiredate);
        DBMS_SQL.DEFINE_COLUMN(curid,4,v_sal);
        DBMS_SQL.DEFINE_COLUMN(curid,5,v_comm);
        v_status := DBMS_SQL.EXECUTE(curid);
        DBMS_OUTPUT.PUT_LINE('EMPNO  ENAME       HIREDATE    SAL       COMM');
        DBMS_OUTPUT.PUT_LINE('-----  ----------  ----------  --------  ' ||
            '--------');
        LOOP
            v_status := DBMS_SQL.FETCH_ROWS(curid);
            EXIT WHEN v_status = 0;
            DBMS_SQL.COLUMN_VALUE(curid,1,v_empno);
            DBMS_SQL.COLUMN_VALUE(curid,2,v_ename);
            DBMS_SQL.COLUMN_VALUE(curid,3,v_hiredate);
            DBMS_SQL.COLUMN_VALUE(curid,4,v_sal);
            DBMS_SQL.COLUMN_VALUE(curid,4,v_sal);
            DBMS_SQL.COLUMN_VALUE(curid,5,v_comm);
            DBMS_OUTPUT.PUT_LINE(v_empno || '   ' || RPAD(v_ename,10) || '  ' ||
                TO_CHAR(v_hiredate,'yyyy-mm-dd') || ' ' ||
                TO_CHAR(v_sal,'9,999.99') || ' ' ||
                TO_CHAR(NVL(v_comm,0),'9,999.99'));
        END LOOP;
        DBMS_OUTPUT.PUT_LINE('Number of rows: ' || DBMS_SQL.LAST_ROW_COUNT);
        DBMS_SQL.CLOSE_CURSOR(curid);
    END;
      

  3.   

    DBMS_OUTPUT.PUT_LINE('Number of rows: ' || DBMS_SQL.LAST_ROW_COUNT);
    --看的懂的了!
      

  4.   

    DBSM_SQL.LAST_ROW_COUNT函数返回的是被处理的最后一行记录的ROWID