2015-11-01 3 views
0

У меня есть хранимая процедура, как показано ниже, в которой внутри есть петля. Если условие, упомянутое ниже, выполняется, мне нужно вернуться к циклу и начать с этапа Loop. Как я могу это достичь?Как вернуться к этапу приращения цикла внутри хранимой процедуры, если условие выполняется внутри цикла?

..... some steps......... 
while (@iv<= @rcnt) 
Begin 
CREATE TABLE #MathLogicTable 
(
IDNUM INTEGER IDENTITY(1,1), 
ATTRIBUTENAME VARCHAR(256), 
INPUTVALUES DECIMAL(15,3) 
) 

INSERT INTO #MathLogicTable 
     SELECT statements.................. 

if (not exists (select 1 from #MathLogicTable)) 
BEGIN 
set @[email protected]+1 (I need this step to go back to the start of the loop...if the condition satisfies) 
END 
------------------------------------------------------------ 
select............ 
update........ 
N Steps......... 
------------------------------------------------------------- 
End 

ответ

0

Вы должны использовать ключевое слово continue:

if (not exists (select 1 from #MathLogicTable)) 
begin 
    set @[email protected]+1 
    continue 
end 
+0

Удивительный ... Спасибо, что погорячился ... –

Смежные вопросы