98
CHAPITRE 4. LANGAGE SQL
événement : SELECT, INSERT, UPDATE ou DELETE. Les règles qui sont définies sur INSERT, UPDATE ou
DELETE sont appelées des règles de mise à jour. Les règles définies sur SELECT permettent la
création de vues (cf. section 4.9.3).
table : Le nom (pouvant être qualifié par le nom du schéma) de la table ou de la vue où s’applique la
règle.
condition : Toute expression SQL conditionnelle (i.e. de type boolean). L’expression de condition ne
peut pas référer à une table autre que NEW et OLD et ne peut pas contenir de fonction d’agrégat.
commande : Zone de spécification des commandes réalisant l’action de la règle. Les commandes valides
sont SELECT, INSERT, UPDATE, DELETE ou NOTIFY. Le mot-clé NOTHING permet de spécifier que l’on
ne veut rien faire.
INSTEAD : Si ce mot-clé est utilisé, la ou les commandes sont exécutées à la place de la requête déclen-
chante. En l’absence de INSTEAD, la ou les commandes sont exécutées après la requête déclenchante
dans le cas ON INSERT (pour permettre aux commandes de voir les lignes insérées) et avant dans
le cas ON UPDATE ou ON DELETE (pour permettre aux commandes de voir les lignes à mettre à jour
ou à supprimer).
À l’intérieur d’une condition et d’une commande, deux tables spéciales, NEW et OLD, peuvent être
utilisées pour se référer à la table sur laquelle porte la règle. NEW est valide dans les règles ON INSERT
et ON UPDATE pour désigner la nouvelle ligne en cours d’insertion ou de mise à jour. OLD est valide
dans les règles ON UPDATE et ON DELETE pour désigner la ligne existante en cours de modification ou de
suppression.
Syntaxe de suppression
DROP RULE nom ON relation [ CASCADE | RESTRICT ]
DROP RULE : Supprime une règle de réécriture.
nom : Le nom de la règle à supprimer.
relation : Le nom (qualifié ou non du nom du schéma) de la table ou vue où s’applique la règle.
CASCADE : Supprime automatiquement les objets dépendant de la règle.
RESTRICT : Refuse de supprimer la règle si un objet en dépend. Ceci est la valeur par défaut.
4.9.3 Vues (CREATE VIEW)