Question

Je dois sortir un script SQL sans erreur si une certaine condition est vraie. J'ai lu que 1 solution serait de raiseerror avec le code d'erreur 20+ et paramètre with log. Mais la limitation de ce que je peux exécuter ce que comme administrateur et la connexion à la DB sera annulée.

En outre, j'ai essayé d'utiliser GOTO et sauter à la fin de la script, mais cela ne fonctionne pas, parce que j'ai plusieurs GO au milieu du script. Y at-il une autre solution?

IF <some condition> BEGIN
GOTO Finished;
END
GO

Finished:
SELECT 'Done'

Merci!

Était-ce utile?

La solution

goto ne peut pas sauter devant un go. Il faudrait tester à nouveau la condition dans chaque bloc:

IF NOT <some condition> 
BEGIN
   ...
END
GO
IF NOT <some condition> 
BEGIN
   ...
END
GO
IF NOT <some condition> 
...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top