I just ran a rather simple INSERT statement (that I think processed a lot of rows), and I got the message:

-1,311,750,183 rows inserted

Should I be concerned about the fact that it's negative?

  • 1
    Which DBMS are you using? – ypercubeᵀᴹ Jul 11 '13 at 21:02
  • 1
    I smell 32-bit DB software. – RolandoMySQLDBA Jul 11 '13 at 21:10
  • SQL Developer. How can I check if I'm using 32 or 64 bit? – random_forest_fanatic Jul 12 '13 at 10:58
  • SELECT * FROM V$VERSION – msi77 Jul 12 '13 at 16:06
  • Nope, it's 64 bit: Oracle Database 11g Enterprise Edition Release - 64bit Production PL/SQL Release - Production "CORE Production" TNS for Linux: Version - Production NLSRTL Version - Production – random_forest_fanatic Jul 14 '13 at 11:43

It is possible that the number of rows exceed the value of PLS_INTEGER. Here is the quote from Oracle on %ROWCOUNT.

%ROWCOUNT Attribute: How Many Rows Were Fetched? %ROWCOUNT returns: Zero after the explicit cursor is opened but before the first fetch Otherwise, the number of rows fetched (a PLS_INTEGER) Note: If the number of rows exceeds the maximum value for a PLS_INTEGER, then SQL%ROWCOUNT returns a negative value. For information about PLS_INTEGER, see "PLS_INTEGER and BINARY_INTEGER Data Types".


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.