Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / повторяющийся цикл / 6 сообщений из 6, страница 1 из 1
07.01.2016, 14:28
    #39143023
stek...
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющийся цикл
Здравствуйте,

Мне нужно :

value is 1,
value is 2,
value is 3,
value is 1,
value is 2,
value is 3,
value is 1,
value is 2,
value is 3,
...
задаю сам сколько мне нужно циклов (1,2,3). Для той этой цели написал следующий код:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
DECLARE
   v_int INT:=1; 
   v_con INT:=1; 

BEGIN
LOOP   
    LOOP
          
              DBMS_OUTPUT.PUT_LINE ('value is ' || v_int);
          v_int:=v_int+1;            
          EXIT WHEN v_int>3;
    END LOOP;
    v_con:=v_con+1;
    EXIT WHEN v_con>3;
END LOOP;
END;




Результат при прогоне следующий,

value is 1,
value is 2,
value is 3,
value is 4,
value is 5,



Перепробовал несколько вариантов. В том числе for... for, while .. результат тот же 1,2,3,4,5.

Как исправить?
...
Рейтинг: 0 / 0
07.01.2016, 14:31
    #39143025
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющийся цикл
Код: plaintext
declare n int := 3; begin for i in 1..3*n loop dbms_output.put_line(mod(i-1,3)+1); end loop; end;
...
Рейтинг: 0 / 0
07.01.2016, 14:44
    #39143027
stek...
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющийся цикл
dbms_photoshop,

Спасибо, большое.
...
Рейтинг: 0 / 0
11.01.2016, 09:55
    #39144268
S_Andrey_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющийся цикл
Код: plsql
1.
declare n int := 3; begin for i in 1..3*n loop dbms_output.put_line(mod(i-1,3)+1); end loop; end;


+100


авторПерепробовал несколько вариантов. В том числе for... for, while .. результат тот же 1,2,3,4,5.

Как исправить?



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DECLARE
   v_int INT:=1; 
   v_con INT:=1; 

BEGIN
LOOP   
    LOOP
          
              DBMS_OUTPUT.PUT_LINE ('value is ' || v_int);
          v_int:=v_int+1;            
          EXIT WHEN v_int>3;
    END LOOP;
    v_con:=v_con+1;
v_int =1; -- Счетчик надо сбрасывать... 
    EXIT WHEN v_con>3;
END LOOP;
END;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
20.05.2017, 23:12
    #39456730
stek...
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющийся цикл
S_Andrey_A,

спасибо большое за помощь.
...
Рейтинг: 0 / 0
22.05.2017, 06:52
    #39457027
повторяющийся цикл
stek...,

За год с лишком не справились?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / повторяющийся цикл / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]