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!

¿Fue útil?

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> 
...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top