Loops 尝试在Pl/SQL中将while循环转换为基本循环
这就是我目前所拥有的 预期结果:Loops 尝试在Pl/SQL中将while循环转换为基本循环,loops,plsql,Loops,Plsql,这就是我目前所拥有的 预期结果: 1+1 = 2 1+2 = 3 1+3 = 4 1+4 = 5 then 2+1 = 3 2+2 = 4 so on until 4+4 = 8* 我尝试过的代码: SET SERVEROUTPUT ON DECLARE v_i number := 1; v_j number := 1; v_x number := 0; BEGIN WHILE v_i < 5 LOOP WHILE v_j < 5
1+1 = 2 1+2 = 3 1+3 = 4 1+4 = 5 then
2+1 = 3 2+2 = 4 so on until 4+4 = 8*
我尝试过的代码:
SET SERVEROUTPUT ON
DECLARE
v_i number := 1;
v_j number := 1;
v_x number := 0;
BEGIN
WHILE v_i < 5 LOOP
WHILE v_j < 5 LOOP
v_x := v_i + v_j;
DBMS_OUTPUT.PUT_LINE(v_i||'+'||v_j||' is: '||v_x);
v_j := v_j +1;
END LOOP;
v_i := v_i + 1;
v_j := 1;
END LOOP;
END;
/
SET SERVEROUTPUT OFF
这是一个简单的逻辑错误我不知道PI/SQL,但据我所知,这可能会满足您的需要。为了清晰起见,我使用了缩进,如果PI/SQL中不允许,请将其删除
SET SERVEROUTPUT ON
DECLARE
v_i number := 1;
v_j number := 1;
v_x number := 0;
BEGIN
LOOP
v_x := v_i + v_j;
DBMS_OUTPUT.PUT_LINE(v_i||'+'||v_j||' is: '||v_x);
v_j := v_j + 1;
IF v_j = 5 THEN
IF v_i < 4 THEN
v_i := v_i + 1;
v_j := 1;
ELSE
EXIT;
END IF;
END IF;
END LOOP;
END;
/
SET SERVEROUTPUT OFF
打开服务器输出
声明
v_i编号:=1;
v_j数:=1;
v_x数:=0;
开始
环
v_x:=v_i+v_j;
DBMS|u OUTPUT.PUT|u LINE(v|i | |‘+’| | v|j | | |是:‘| | v|x);
v_j:=v_j+1;
如果v_j=5,则
如果v_i<4,则
v_i:=v_i+1;
v_j:=1;
其他的
出口
如果结束;
如果结束;
端环;
结束;
/
关闭服务器输出
我不知道PI/SQL,但据我所知,这可能会满足您的需求。为了清晰起见,我使用了缩进,如果PI/SQL中不允许,请将其删除
SET SERVEROUTPUT ON
DECLARE
v_i number := 1;
v_j number := 1;
v_x number := 0;
BEGIN
LOOP
v_x := v_i + v_j;
DBMS_OUTPUT.PUT_LINE(v_i||'+'||v_j||' is: '||v_x);
v_j := v_j + 1;
IF v_j = 5 THEN
IF v_i < 4 THEN
v_i := v_i + 1;
v_j := 1;
ELSE
EXIT;
END IF;
END IF;
END LOOP;
END;
/
SET SERVEROUTPUT OFF
打开服务器输出
声明
v_i编号:=1;
v_j数:=1;
v_x数:=0;
开始
环
v_x:=v_i+v_j;
DBMS|u OUTPUT.PUT|u LINE(v|i | |‘+’| | v|j | | |是:‘| | v|x);
v_j:=v_j+1;
如果v_j=5,则
如果v_i<4,则
v_i:=v_i+1;
v_j:=1;
其他的
出口
如果结束;
如果结束;
端环;
结束;
/
关闭服务器输出
您当前得到的输出是什么?对于while循环isSQL>@LOOP0 1+1是:2 1+2是:3 1+3是:4 1+4是:5 2+1是:3 2+2是:4 2+3是:5 2+4是:6 3+1是:4 3+2是:6 3+3是:7 4+1是:5 4+2是:6 4+3是:7 4+4是:8 PL/SQL过程成功完成。现在我无法将语法更改为基本循环这是跳出当我需要增加v_j时,循环的。你不是说v_i吗?你目前得到的输出是什么?对于while循环isSQL>@loop01+1是:21+2是:3 1+3是:4 1+4是:5 2+1是:3 2+2是:4 2+3是:5 2+4是:6 3+1是:6 3+4是:7 4+1是:5 4+2是:6 4+3是:7 4+4是:8 PL/SQL过程成功完成。现在我无法将语法更改为基本的loopthis当我需要增加v_j时,跳出循环。你是说维伊吗?