Avec cette commande, nous pouvons spécifier quelque chose comme:commande merge SQL Server - comment intercepter si rien qualifié
WHEN MATCHED AND stm.StudentMarks > 250 THEN DELETE
Mais comment faire si un enregistrement piège n'a pas admissible? Par exemple, dites stm.StudentMarks = 100? Je reçois une erreur de syntaxe si j'essaye "ELSE". Je sais que cette commande n'est généralement pas utilisée de cette façon. Mais s'il peut le faire, cela me évitera d'avoir à utiliser une transaction, des verrous et plusieurs instructions SQL.
Merci. Malheureusement, cela ne fonctionnera pas. Il ne va pas intercepter le prédicat de condition de recherche de correspondance, mais pas de clause. Je viens également de découvrir par essais et erreurs "Une action de type" UPDATE "n'est pas autorisée dans la clause" WHEN NOT MATCHED "d'une déclaration MERGE." Manifestement, MERGE a des utilisations très spécifiques, et ce que je veux va au-delà. Transactions et verrous il devra être. – IamIC