for i in (1,2,3) loop

Randll
Дата: 29.07.2005 16:19:50
а можно ли как-то сделать что-то вроде:


  for i in (1,30,10) loop
   ..
  end loop;


интересуют простые методы :) с коллекциями я тоже могу :) числа в списке зарание известны.
alex-ls
Дата: 29.07.2005 16:30:17
можно так
for i in 1..10 loop
   ..
end loop;
alex-ls
Дата: 29.07.2005 16:31:38
Еще так.
for i in
(
select 1 from dual
union all
select 30 from dual
union all
select 10 from dual
)
loop
  null;
end loop;
Randll
Дата: 29.07.2005 16:39:34
2 alex-ls
Первый вариант не подходит. Мне не нужен диапазон. Мне нужно перечисление. А второй - слишком много писать :) Я просто подумал что конструкция достаточно очевидная и должна бы была как-нибудь в pl/sql просто реализовываться :) Каким-нить магическим словом.. или ещё чем-то в этом духе :)
SQLap
Дата: 29.07.2005 16:50:48
Randll
числа в списке зарание известны.


for i in (select твой список) loop
   ..
  end loop;
Randll
Дата: 29.07.2005 17:02:44
SQLap
Randll
числа в списке зарание известны.


for i in (select твой список) loop
   ..
  end loop;


ты имеешь ввиду (select 1,10,30 from dual) ? цикл прогониться 1 раз. если union all - то тоже самое что и у alex-ls.
Apex
Дата: 29.07.2005 17:05:23
SQLap
Randll
числа в списке зарание известны.


for i in (select твой список) loop
   ..
  end loop;

Select его сисок откуда?
alex-ls
Дата: 29.07.2005 17:05:35
Можно сделать цикл по табличке где эти твои
Randll
числа в списке зарание известны
лежат
andreymx
Дата: 29.07.2005 17:09:10
использовать функцию типа LIST_TO_TABLE
отсюда
Randll
Дата: 29.07.2005 17:10:51
они нигде не лежат. только в моём мозге. мне надо сделать:
  some_proc(1);
  some_proc(10);
  some_proc(30);
  ...

Я хочу не юзать копи-паст. Я хочу сделать красиво :)