Impossible d'utiliser les colonnes text, ntext ou image dans les tables 'inserted' et 'deleted'
J'ai une erreur "Impossible d'utiliser le text, ntext ou image colonnes dans les "insérés" et "supprimer " tables", car il y a ntext champs dans la table d'origine, j'avais attaché un déclencheur.
Voici une solution: http://lazycodeprogrammer.blogspot.com/2009/08/how-to-use-inserteddeleted-with.html
Mais d'origine (non modifié) la requête est assez complexe. Que dois-je écrire au lieu de SELECT * from INSÉRÉ, à l'aide de opérateur de JOINTURE, comme c'est recommandé?
source d'informationauteur noober | 2010-07-05
Vous devez vous connecter pour publier un commentaire.
Le vrai problème, c'est que vous essayez de sélectionner les colonnes de votre table inserted qui sont de type ntext, texte ou image. Ce n'est pas autorisé dans un déclencheur.
La vraie solution serait de changer toutes vos ntext, nvarchar(max), texte varchar(max) et de l'image pour varbinary(max) comme suggéré par MME
MS indique que ces types sont obsolètes et sera supprimée dans une future version.
Aussi, ntext sont vraiment lent que de la performance car il n'existe pas de données en ligne.
Une belle solution a été trouvée:
À l'aide de "au LIEU DE" déclencheurs peuvent résoudre le problème parce que le text, ntext et image les champs sont disponibles dans les "insérés" et "supprimé" les tables.
Regardez http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=148387 de voir comment il peut être fait.
Utiliser le trigger after insert sur
yourtable
: