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);
...