سؤال

أحتاج إلى الخروج من برنامج نصي 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> 
...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top