J'ai essayé d'effectuer la mise à jour sur la table qui a été déclenché par la mise à jour sur autre table et je suis arrivé message d'erreur:Trigger qui modifie plusieurs lignes sur la table diffrent puis il a été invoqué dans SQL Server 2005
La valeur de la ligne (s) mis à jour ou supprimé soit ne pas rendre la ligne unique ou ils modifient plusieurs lignes.
Par exemple, j'ai cette table:
table_1
===========
int id (primary_key,identity)
nchar(10) state_name
table_2
===========
int number
Et après la mise à jour table_2 Je souhaite modifier toutes les valeurs dans la colonne « state_name » à « faux »
create trigger tr on table_2
after update
as
update table_1 set state_name = 'false'
Et lorsque je tente de mettre à jour table_2 Je reçois un message d'erreur. Existe-t-il un moyen de contourner cette limitation?
Cela fonctionne très bien tant que vous avez des enregistrements distincts dans la table_2. Essayez d'ajouter plus de 1s dedans. Je l'ai vu dans le passé. –
J'utilise SQL 2K5. Vous avez raison, cela fonctionne! C'est intéressant parce que j'ai eu ce message d'erreur lors de l'édition des enregistrements avec Sql Server Managment Studio table_2 -> Ouvrir la table et après avoir changé d'enregistrement je ne pouvais pas le valider. Je me demande pourquoi. –
De plus, quand j'ajoute une colonne avec la clé primaire à la table_2 cela fonctionne quand j'édite les enregistrements de cette façon. Table_2-> Ouvrir la table Il doit y avoir une limitation de Sql Server Management Studio. –