L'Instruction SQL de la Résiliation à l'aide de l'instruction RAISERROR

(SQL 2005)
Est-il possible pour un raiserror pour mettre fin à une procédure stockée.

Par exemple, dans un système plus large, nous avons obtenu une valeur qui n'était pas prévu d'être entré dans une colonne spécifique. Dans un déclencheur de mise à jour si vous écrivez:

if exists (select * from inséré à l'endroit où testcol = 7)
commencer
raiseerror('Mon Erreur Personnalisé', 16, 1)
fin

la mise à jour de l'information est encore appliquée.
toutefois, si vous exécutez

if exists (select * from inséré à l'endroit où testcol = 7)
commencer
sélectionnez 1/0
fin

d'une division par 0 erreur est levée qu'en fait met fin à la mise à jour.
est il possible que je peux le faire avec un raiseerror afin que je puisse obtenir des messages d'erreur personnalisés en arrière?

OriginalL'auteur Bob | 2009-08-06