在oracle中有如下语句,此语句的功能应该是让用户输入,如果输入的值小于60,则应继续让用户输入,直到输入的值大于60为止。但是,如果我输入的值小于60,电脑就死机(死循环),不能继续输入。不知这是怎么回事。BEGIN
LOOP
IF &s > 60 THEN
DBMS_OUTPUT.PUT_LINE('该生已通过');
EXIT;
END IF;
END LOOP;
END;
LOOP
IF &s > 60 THEN
DBMS_OUTPUT.PUT_LINE('该生已通过');
EXIT;
END IF;
END LOOP;
END;
要想正常工作,就把输入参数值的这个操作也放入循环体中。
Begin
Loop
If &s >= 60 Then
DBMS_OUTPUT.PUT_LINE('该生已通过');
Exit;
Else
--处理<60的情况
Raise;
End If;
End Loop;
End;
Begin
Loop
If &s >= 60 Then
DBMS_OUTPUT.PUT_LINE('该生已通过');
Exit;
Else
--处理<60的情况
Raise;
End If;
End Loop;
End;
Begin
Loop
If &s >= 60 Then
DBMS_OUTPUT.PUT_LINE('该生已通过');
Exit;
Else
--处理<60的情况
Raise;
End If;
End Loop;
End;
Begin
Loop
If &s >= 60 Then
DBMS_OUTPUT.PUT_LINE('该生已通过');
Exit;
Else
--处理<60的情况
Raise;
End If;
End Loop;
End;
Begin
Loop
If &s >= 60 Then
DBMS_OUTPUT.PUT_LINE('该生已通过');
Exit;
Else
--处理<60的情况
Raise;
End If;
End Loop;
End;
Begin
Loop
If &s >= 60 Then
DBMS_OUTPUT.PUT_LINE('该生已通过');
Exit;
Else
--处理<60的情况
Raise;
End If;
End Loop;
End;