|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mars 2008 Messages : 29 ![]() |
Bonjour,
J'ai créé un trigger instead of insert sur une vue multitable. Cela concerne l'insertion de project de client et de composant. Les 2 tables en questions ici sont: CUSTOMER : id_customer, customer_name PROJECT: id_project, project_name, id_customer# Voilà le bout de code de mon trigger qui pose problème. Code sql :
En gros ma transaction vérifie si un nom de project n'a qu'un seul et unique numéro de client sauf pour les noms de projets du type like'TAM_%' Quand j'insere des données invalides voilà ce que j'ai sur la sortie: Code :
Voilà, merci d'avance, bon appétit! |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 056 ![]() |
bonjour,
je pense que le begin transaction devrait être hors du trigger : en général on gère la transaction en amont, dans le code qui met à jour les enregistrements de la table qui déclenchera le trigger. Il n'y a qu'à mettre un rollback transaction <name>, <name> correspondant à la transaction débutée avant le déclenchement du trigger...
__________________
Emmanuel T. |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Un trigger est déjà à l'intérieur d'une transaction même si vous ne l'avez par explicitement lancée (transaction implicite). Commencer votre trigger par une transaction n'a donc aucun sens et SQL Server ne s'y retrouve plus parce que les transactions imbriquées cela n'existe pas...
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