У меня есть хранимая процедура, как показано ниже, которая отлично работает.
declare db_cursor cursor for
select Atmosphere, Region, PreATR
from myTbl
open db_cursor
fetch next from db_cursor into @Atmosphere, @Region, @PreATR
while @@FETCH_STATUS = 0
begin
if @PreATR = 1
set @q = 'insert into tblA ... '
else
set @q = 'insert into tblB ...
end
exec(@q)
fetch next from db_cursor into @Atmosphere, @Region, @PreATR
end
close db_cursor
deallocate db_cursor
Однако теперь мне нужно ее настроить.Поэтому я хочу добавить еще одно утверждение if, как показано ниже.Когда я делаю это, строка ниже подсвечивается
close db_cursor
Неверный синтаксис рядом с 'close'.ожидание CONVERSATION
open db_cursor
fetch next from db_cursor into @Atmosphere, @Region, @PreATR
while @@FETCH_STATUS = 0
begin
if @Region = 55
set @someVar = 1
else
set @someVar = 1
end
if @PreATR = 1
set @q = 'insert into tblA ... '
else
set @q = 'insert into tblB ...
end
exec(@q)
fetch next from db_cursor into @Atmosphere, @Region, @PreATR
end
close db_cursor
deallocate db_cursor
почему добавление этого дополнительного оператора if вызывает такое поведение?