|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Analyste / Programmeur Inscription : juillet 2006 Messages : 1 305 ![]() |
Bonjour,
Je voudrais juste savoir si un trigger INSTEAD OF UPDATE qui effectue une insertion déclenchera le trigger AFTER INSERT ou non ? D'instinct je dirais que oui mais vu que c'est un trigger qui fait l'insertion, j'ai un doute. Merci d'avance, Griftou. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Question trop vague !
Votre trigger INSTEAD OF est sur une vue ou une table ? Quel est le code du trigger ??? A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Je dirais que oui. En revanche, si le trigger INSTEAD OF UPDATE fait un update sur la table (logique) il ne se re-déclenchera pas.
Attention aussi : il faut vérifier le paramètre "Allow tiggers to yeild triggers" et le "max recursion level" qui sont nécessaires pour qu'un trigger puisse déclencher d'autres triggers. |
|
|
00
|
|
|
#4 | ||||||
|
Membre Expert
![]() Analyste / Programmeur Inscription : juillet 2006 Messages : 1 305 ![]() |
Je ne savais déjà pas qu'on pouvait faire des triggers sur des vues
![]() Sinon pour préciser, disons que j'ai une table, nommons la T Un exemple concret de champs : Code :
Pour l'exemple d'utilisation, disons que nous avons les records suivants : Code :
Pour la mise à jour, si l'utilisateur veut modifier le champ texte, à la place de faire un update du record, je veux créer un nouveau record avec le même id et la même langue mais avec version + 1 et le nouveau texte. Donc si on veut remplacer machin par bidule, j'aurais alors le record suivant : Code :
Voilà, j'espère que je suis plus clair et que cette manière de faire n'est pas trop abérante... Je ne suis pas du tout DBA de formation mais vu qu'on n'a pas de DBA dans la boite où je bosse, faut bien s'y essayer ^^. Merci d'avance. Griftou. |
||||||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Analyste / Programmeur Inscription : juillet 2006 Messages : 1 305 ![]() |
Nouvelle petite question toujours sur les triggers.
Quand on fait un update, les nouvelles valeurs se trouvent bien dans la table inserted et les anciennes dans deleted ? Est-ce correct ? Et dans le cas d'un trigger instead of update ? Griftou. |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
OUI
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com