Number of affected rows of the last executed statement
The ROW_COUNT
context variable contains the number of rows affected by the most recent DML statement (INSERT
, UPDATE
, DELETE
, SELECT
or FETCH
) in the current PSQL module.
Behaviour with SELECT
and FETCH
-
After a singleton SELECT
, ROW_COUNT
is 1 if a data row was retrieved and 0 otherwise.
-
In a FOR SELECT
loop, ROW_COUNT
is incremented with every iteration (starting at 0 before the first).
-
After a FETCH
from a cursor, ROW_COUNT
is 1 if a data row was retrieved and 0 otherwise.Fetching more records from the same cursor does not increment ROW_COUNT
beyond 1.
Note
|
ROW_COUNT cannot be used to determine the number of rows affected by an EXECUTE STATEMENT or EXECUTE PROCEDURE command.
|
Example
update Figures set Number = 0 where id = :id;
if (row_count = 0) then
insert into Figures (id, Number) values (:id, 0);