WHERE
La condition de la clause WHERE
limite le jeu d'enregistrements à supprimer. Seuls les enregistrements qui satisfont à la condition de recherche ou seulement l'enregistrement curseur nommé actuel sont supprimés.
La suppression avec WHERE CURRENT OF
est appelée positioned delete, car elle supprime l'enregistrement à la position actuelle. La suppression avec `WHERE condition' est appelée searched delete, car Firebird recherche les enregistrements qui satisfont à la condition.
Note | En DSQL pur, l'expression |
Example 1. Utilisation de la clause
WHERE
dans l'instruction DELETE
.DELETE FROM People
WHERE first_name <> 'Boris' AND last_name <> 'Johnson';
DELETE FROM employee e
WHERE NOT EXISTS(
SELECT *
FROM employee_project ep
WHERE e.emp_no = ep.emp_no);
DELETE FROM Cities
WHERE CURRENT OF Cur_Cities; -- uniquement dans PSQL