Оператор IF
не имеет ничего общего, если он равен true:
IF @return_status <> 1
BEGIN
IF EXISTS(select login from dbo.user_table where (@userid=login))
--continue because its a good user
ELSE --this is where it doesn't like the else
set @return_status = 1
END
...
Это синтаксически неверно. T SQL ожидает выполнения оператора, если IF
возвращает true, и в этом случае комментария недостаточно.
Если вам не нужно ничего делать, если оператор верен, вместо этого просто переключитесь на IF NOT EXISTS
:
IF @return_status <> 1
BEGIN
IF NOT EXISTS(select login from dbo.user_table where (@userid=login))
BEGIN
set @return_status = 1
END
...
В противном случае, если вы хотите использовать как истинные, так и ложные результаты оператора IF
:
IF @return_status <> 1
BEGIN
IF EXISTS(select login from dbo.user_table where (@userid=login))
BEGIN
-- Do something with the true outcome
END
ELSE
BEGIN
set @return_status = 1
END
...