ROW_COUNT
PSQL
ROW_COUNT
BIGINT
La variable contextuelle ROW_COUNT
contient le nombre de lignes affectées par la dernière instruction DML.(INSERT
, UPDATE
, DELETE
, SELECT
ou FETCH
) dans le déclencheur, la procédure stockée ou le bloc exécutable en cours.
Comportement avec SELECT
et FETCH
:
-
Après avoir exécuté une requête singleton
SELECT
(une requête qui ne peut retourner plus d’une ligne de données),ROW_COUNT
est 1 si une chaîne de données a été récupérée et 0 sinon ; -
Dans la boucle
FOR SELECT
, la variableROW_COUNT
est incrémentée à chaque itération (en commençant par 0 comme première valeur) ; -
Après la sélection (
FETCH
) du curseur,ROW_COUNT
vaut 1 si une chaîne de données a été récupérée et 0 sinon. La sélection de plusieurs enregistrements à partir du même curseur n’incrémente pasROW_COUNT
après 1.
Important
|
La variable |
Warning
|
N’utilisez pas la variable
Dans l’exemple ci-dessus, la colonne
|
ROW_COUNT
...
UPDATE Figures SET Number = 0 WHERE id = :id;
IF (row_count = 0) THEN
INSERT INTO Figures (id, Number)
VALUES (:id, 0);
...