Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
Which DBMS are you using? – ypercubeᵀᴹ Jul 11 '13 at 21:02
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
up vote 5 down vote accepted

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".

share|improve this answer
Ah, ok, thanks! – random_forest_fanatic Jul 24 '13 at 16:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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