GOTO instrucción SQL en un script con GO múltiple
-
29-09-2019 - |
Pregunta
necesito para salir de una secuencia de comandos SQL sin un error si una determinada condición es válido. He leído que 1 solución sería raiseerror
con código de error y el parámetro 20 + with log
. Sin embargo, la limitación de ello es que puedo ejecutar ese sólo como un administrador y la conexión con la base de datos será abortado.
Además, he intentado usar GOTO y saltar al final de la secuencia de comandos, pero no funciona, porque no tengo GO múltiple en el medio de la secuencia de comandos. ¿Hay alguna otra solución?
IF <some condition>
BEGIN
GOTO Finished;
END
GO
Finished:
SELECT 'Done'
Gracias!
Solución
goto
no puede saltar más allá de un go
. Habría que volver a probar la condición en cada bloque:
IF NOT <some condition>
BEGIN
...
END
GO
IF NOT <some condition>
BEGIN
...
END
GO
IF NOT <some condition>
...