1
Это то, что у меня есть до сих пор.Пытается преобразовать цикл while в базовый цикл в PL/SQL
Ожидаемый результат:
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
решил. благодаря
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
v_j := 1;
v_i := v_i + 1;
EXIT WHEN v_i = 5;
END IF;
END LOOP;
END;
/
SET SERVEROUTPUT OFF
это была простая логическая ошибка
Каков вывод, который вы сейчас получаете? –
Для цикла, пока –
SQL> @ 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: 5 3 + 3: 6 3 + 4: 7 4 + 1 : 5 4 + 2 is: 6 4 + 3 is: 7 4 + 4 is: 8 PL/SQL процедура успешно завершен. –