116
Chapitre 5 • Le langage SQL DML
Dans la commande suivante, on ajoute à la table CLIENT_TOULOUSE
(NUMERO, NOM, ADRESSE) les données extraites de CLIENT :
insert into CLIENT_TOULOUSE
select NCLI, NOM, ADRESSE
from
CLIENT
where LOCALITE = 'Toulouse'
Cette table peut ensuite faire l’objet de manipulations comme toute autre table. On
notera qu’à partir du moment où les données ont été insérées, la table
CLIENT_TOULOUSE devient indépendante de la table CLIENT. En particulier,
aucune mise à jour des lignes de CLIENT n’aura d’effet sur le contenu de la table
CLIENT_TOULOUSE, ni inversement 38 .
Dans tous les cas, les données insérées doivent respecter les contraintes d’intégrité (identifiants, intégrité référentielle, colonnes obligatoires) attachées à la table à
laquelle les nouvelles lignes sont destinées. Notons cependant qu’il est fréquent que
ces tables ne soient accompagnées d’aucune contrainte, en particulier lorsqu’elles ne
font l’objet que de consultations après leur remplissage.
5.8.2 Suppression de lignes
L’ordre de suppression porte sur un sous-ensemble des lignes d’une table. Ces lignes
sont désignées par une clause where dont le format est le même que celui de
l’instruction SFW :
delete from CLIENT
where NCLI = 'K111'
Cet ordre supprime de la table CLIENT la ligne qui décrit le client numéro K111.
delete from DETAIL
where NPRO in (select NPRO
from
PRODUIT
where QSTOCK <= 0)
Cette instruction supprime de la table DETAIL les lignes, quel qu’en soit le nombre,
qui spécifient un produit en rupture de stock.
Après l’opération, la base de données doit être dans un état qui respecte toutes les
contraintes d’intégrité auxquelles elle est soumise, et en particulier les contraintes
référentielles. Nous y reviendrons.
38. On appelle parfois instantané (snapshot) ce type de table dérivée. Ces instantanés seront
notamment utilisés pour distribuer l’information à partir d’une base de données centrale et pour
constituer des systèmes d’aide à la décision (les entrepôts de données par exemple). Signalons
que certains SGBD (Oracle par exemple), contrairement à la règle de base, peuvent sur demande
gèrer les instantanés, et propager les modifications des tables sources vers l’instantané.
Précédent

- 116/436

Suivant