بيان SQL GOTO في برنامج نصي مع متعددة GO
-
29-09-2019 - |
سؤال
أحتاج إلى الخروج من برنامج نصي SQL دون خطأ إذا كان هناك شرط معين صحيح. لقد قرأت أن الحل الأول سيكون raiseerror
مع رمز الخطأ 20+ و with log
معامل. لكن القيد على ذلك هو أنه يمكنني تنفيذ ذلك فقط كمسؤول وسيتم إحباط اتصال DB.
أيضًا ، حاولت استخدام GOTO والقفز إلى نهاية النصف ، لكنها لا تعمل ، لأن لدي العديد من السير في منتصف البرنامج النصي. هل يوجد حل آخر؟
IF <some condition>
BEGIN
GOTO Finished;
END
GO
Finished:
SELECT 'Done'
شكرًا!
المحلول
goto
لا يمكن القفز بعد أ go
. يجب عليك إعادة اختبار الحالة في كل كتلة:
IF NOT <some condition>
BEGIN
...
END
GO
IF NOT <some condition>
BEGIN
...
END
GO
IF NOT <some condition>
...
لا تنتمي إلى StackOverflow