LAST_ROW_COUNT v17
The LAST_ROW_COUNT
function returns the number of rows that were currently fetched.
<rowcnt> INTEGER LAST_ROW_COUNT
Parameters
rowcnt
Number of row fetched thus far.
Examples
This example uses the LAST_ROW_COUNT
function to display the total number of rows fetched in the query.
DECLARE curid NUMBER; v_empno NUMBER(4); v_ename VARCHAR2(10); v_hiredate DATE; v_sal NUMBER(7,2); v_comm NUMBER(7,2); v_sql VARCHAR2(50) := 'SELECT empno, ename, hiredate, sal, ' || 'comm FROM 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; EMPNO ENAME HIREDATE SAL COMM ----- ---------- ---------- -------- -------- 7369 SMITH 1980-12-17 800.00 .00 7499 ALLEN 1981-02-20 1,600.00 300.00 7521 WARD 1981-02-22 1,250.00 500.00 7566 JONES 1981-04-02 2,975.00 .00 7654 MARTIN 1981-09-28 1,250.00 1,400.00 7698 BLAKE 1981-05-01 2,850.00 .00 7782 CLARK 1981-06-09 2,450.00 .00 7788 SCOTT 1987-04-19 3,000.00 .00 7839 KING 1981-11-17 5,000.00 .00 7844 TURNER 1981-09-08 1,500.00 .00 7876 ADAMS 1987-05-23 1,100.00 .00 7900 JAMES 1981-12-03 950.00 .00 7902 FORD 1981-12-03 3,000.00 .00 7934 MILLER 1982-01-23 1,300.00 .00 Number of rows: 14
LAST_ERROR_POSITION
The LAST_ERROR_POSITION
function returns an integer value indicating the byte offset in the SQL statement text where the error occurred. The error position of the first character in the SQL statement is at 1
.
LAST_ERROR_POSITION RETURN INTEGER;
Examples
This example shows an anonymous block that returns an error position with the LAST_ERROR_POSITION
function.
DECLARE curid NUMBER; sql_stmt VARCHAR2(50) := 'SELECT empno FROM not_exist_table'; v_position INTEGER; BEGIN curid := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(curid, sql_stmt, DBMS_SQL.native); EXCEPTION WHEN OTHERS THEN v_position := DBMS_SQL.LAST_ERROR_POSITION; DBMS_OUTPUT.PUT_LINE('error position = ' || v_position); DBMS_SQL.CLOSE_CURSOR(curid); END; error position = 19
- On this page
- Parameters
- Examples
- LAST_ERROR_POSITION