J'ai créé des déclencheurs pour INSERT et UPDATE séparément. Le déclencheur va insérer une ligne dans Schema2 quand une insertion est faite dans Schema1. Tables:Déclencheurs dans SQL Server 2008
- Schema1.Temp1
- Schema2.Temp2
La création de déclenchement est réussie.
Mais quand je l'insertion de données dans Temp1
, il me donne une erreur pour Temp2
- clé en double. Temp2
a des contraintes pour deux autres tables. Qu'est-ce qui peut causer cela et comment peut-il être résolu? Lorsque votre déclencheur est appelé, essayez d'écrire sur la Table2 (comme vous l'avez dit)
Je ne pense pas que ce problème ait quelque chose à voir avec les déclencheurs. Vous insérez simplement des valeurs en double. L'erreur montre quelle contrainte est violée. –
Veuillez mettre à jour avec l'instruction 'CREATE TABLE' pour' Temp2'. Arrêter les données en double est une bonne chose (tm) - on dirait que vous mettez en place une réplication "pauvre", quand il y a de meilleures alternatives en fonction de ce que vous voulez vraiment que ces déclencheurs fassent. –
Pouvez-vous ** nous montrer ** la structure de Table2 (colonnes, leurs types de données, quels index vous avez sur la table) et l'instruction que votre trigger utilise pour insérer les données, et le message d'erreur ** complete and exact ** vous obtenez ?? –