ROW_COUNT
PSQL
ROW_COUNT
BIGINT
Контекстная переменная ROW_COUNT
содержит число строк, затронутых последним оператором DML(INSERT
, UPDATE
, DELETE
, SELECT
или FETCH
) в текущем триггере, хранимой процедуре или исполняемом блоке.
Поведение с SELECT
и FETCH
:
-
После выполнения singleton
SELECT
запроса (запроса, который может вернуть не более одной строки данных),ROW_COUNT
равна 1, если была получена строка данных и 0 в противном случае; -
В цикле
FOR SELECT
переменнаяROW_COUNT
увеличивается на каждой итерации (начиная с 0 в качестве первого значения); -
После выборки (
FETCH
) из курсора,ROW_COUNT
равна 1, если была получена строка данных и 0 в противном случае. Выборка нескольких записей из одного курсора не увеличиваетROW_COUNT
после 1.
Important
|
Переменная |
Warning
|
Не используйте переменную
В вышеприведённом примере в столбец
|
ROW_COUNT
...
UPDATE Figures SET Number = 0 WHERE id = :id;
IF (row_count = 0) THEN
INSERT INTO Figures (id, Number)
VALUES (:id, 0);
...