1 pièce(s) jointe(s)
[SQL2005]Trigger On delete, insert, update(colonne)
Bonjour à tous,
Est-il possible de faire un trigger en mettant un nom de champ entre parentheses pour un UPDATE (comme sur Oracle).
Exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| if exists (select name from sysobjects
WHERE name='trig_update_nbre_produits'
AND type='TR')
DROP TRIGGER trig_update_nbre_produits
GO
CREATE TRIGGER trig_update_nbre_produits
ON produit FOR INSERT, DELETE, UPDATE(id_cat)
AS
BEGIN
UPDATE categorie
SET categorie.nombre_produits =
(SELECT COUNT(p.id_prod) FROM produit p
WHERE p.id_cat = categorie.id_cat);
PRINT 'Exécution du trigger de MAJ : Actualisation de la colonne nombre_produits effectuée sur la table categorie' ;
END
GO |
Voici le diagramme de données de ma base. J'ai rajouté la colonne 'nombre_produits' dans la table 'categorie'.
Merci beaucoup !
PS : Le diagramme de données généré par Enterprise Manager est en fichier attaché.