У меня есть хранимая процедура в этой форме:
ALTER PROCEDURE [dbo].[fooBar]
(
)
AS
BEGIN
-- etc
RETURN @Success
END
До этого она прекрасно работала с BEGIN
и END
, но после изменения чего-либо и возврата обратно отказаласьвыполнить, указывая на синтаксическую ошибку в последнем END
(удаление следующего указывает на синтаксическую ошибку в первом операторе IF / BEGIN / .... внутри процедуры, и, таким образом, начинается ваша дикая погоня за погоней).
Поиск в официальной документации MSDN о синтаксисе BEGIN
и END
, используемых таким образом для конвертации хранимой процедуры, недопустим.(Удаление BEGIN
и END
решило проблему)
Вопрос: почему это произошло?
Компилятор пропустил эти BEGIN
и END
вначале, а потом его обнаружат?Есть ли некоторые вещи, которые компилятор SQL игнорирует?Это наследие?Это просто привередливый?Мне не хватает исправления?
Это SQL Server 10.50.1617