Section courante

A propos

Section administrative du site

DELETE

Efface
PostgreSQL

Syntaxe

[ WITH [ RECURSIVE ] with_query [, ...] ]
DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
[ USING from_item [, ...] ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]

Paramètres

Nom Description
with_query Ce paramètre permet d'indiquer une ou plusieurs sous-requêtes pouvant être référencées par nom dans la requête DELETE.
table_name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) de la table à partir de laquelle supprimer des lignes. Si ONLY est spécifié avant le nom de la table, les lignes correspondantes sont supprimées de la table nommée uniquement. Si ONLY n'est pas spécifié, les lignes correspondantes sont également supprimées de toutes les tables héritant de la table nommée. Facultativement, * peut être spécifié après le nom de la table pour indiquer explicitement que les tables descendantes sont incluses.
alias Ce paramètre permet d'indiquer un nom de substitution pour la table cible. Lorsqu'un alias est fourni, il masque complètement le nom réel de la table. Par exemple, étant donné DELETE FROM gladir AS f, le reste de l'instruction DELETE doit faire référence à cette table comme f et non gladir.
from_item Ce paramètre permet d'indiquer une expression de table permettant aux colonnes d'autres tables d'apparaître dans la condition WHERE. Cela utilise la même syntaxe que la clause FROM d'une instruction SELECT ; par exemple, un alias pour le nom de la table peut être spécifié. Ne répétez pas la table cible en tant que from_item sauf si vous souhaitez configurer une auto-jointure (auquel cas elle doit apparaître avec un alias dans from_item).
condition Ce paramètre permet d'indiquer une expression renvoyant une valeur de type booléen. Seules les lignes pour lesquelles cette expression renvoie true seront supprimées.
cursor_name Ce paramètre permet d'indiquer un nom du curseur à utiliser dans une condition WHERE CURRENT OF. La ligne à supprimer est la dernière extraite de ce curseur. Le curseur doit être une requête sans regroupement sur la table cible de DELETE. Notez que WHERE CURRENT OF ne peut pas être spécifié avec une condition booléenne.
output_expression Ce paramètre permet d'indiquer une expression à calculer et à renvoyer par la commande DELETE après la suppression de chaque ligne. L'expression peut utiliser n'importe quel nom de colonne de la table nommée par table_name ou table(s) répertoriée dans USING. Écrivez * pour retourner toutes les colonnes.
output_name Ce paramètre permet d'indiquer un nom à utiliser pour une colonne renvoyée.

Retour

En cas de réussite, une commande DELETE renvoie une balise de commande dans le format :

DELETE count

Le nombre est le nombre de lignes supprimées. Notez que le nombre peut être inférieur au nombre de lignes correspondant à la condition lorsque les suppressions ont été supprimées par un déclencheur BEFORE DELETE. Si count est égal à 0, aucune ligne n'a été supprimée par la requête (ceci n'est pas considéré comme une erreur). Si la commande DELETE contient une clause RETURNING, le résultat sera similaire à celui d'une instruction SELECT contenant les colonnes et valeurs définies dans la liste RETURNING, calculée sur la ou les lignes supprimées par la commande.

Description

Cette instruction permet de supprimer les lignes d'un tableau.

Remarques



Dernière mise à jour : Jeudi, le 14 Octobre 2021