web-dev-qa-db-fra.com

Comment arrêter l'exécution d'une procédure stockée à l'aide de SQL Server?

Disons que j'ai une procédure stockée qui a un bloc IF simple. Si la vérification effectuée répond aux critères, je souhaite arrêter l'exécution de la procédure. 

Quelle est la meilleure façon de procéder?

Voici le code:

IF EXISTS (<Preform your Check>)
BEGIN
    // NEED TO STOP STORED PROCEDURE EXECUTION
END
ELSE
BEGIN
    INSERT ()...
END

Merci pour toute aide concernant ceci!

23
Yagiz Ozturk

Il suffit d'appeler pour retourner:

IF EXISTS (<some condition>)
BEGIN
    // NEED TO STOP STORED PROCEDURE EXECUTION
    RETURN
END

Ceci renverra immédiatement le contrôle à l'appelant - il ignorera tout le reste du processus.

54
marc_s

Vous pouvez simplement mettre une étiquette de saut à la fin du corps SP et émettre une GOTO dans la première instruction IF. Vous pouvez également étendre le premier bloc BEGIN ... END afin qu'il contienne le reste du corps SP et inverser la condition (IF NOT EXISTS...).

0
tdammers