Oracle Developer👨🏻‍💻
3.17K subscribers
583 photos
64 videos
2 files
470 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
Задача: написать анонимный PL/SQL-блок, который выведет числа от 1 до 9 используя for loop. В выводе не должно быть четных чисел.

Решение
Не забываем, почти у любой задачи есть несколько вариантов решения. Приведу парочку.

1️⃣ Проверка счетчика итерации на четное значение, используя остаток от деления (mod). Если значение четное - пропускаем эту итерацию (continue). Остаток от деления, довольно часто, используется в задачах типа, “коммитить каждые N записей”.

begin
for i in 1 .. 10 loop
if mod(i, 2) = 0 then
continue;
end if;
dbms_output.put_line(i);
end loop;
end;
/

2️⃣ Использование расширенного Loop в Oracle 21c.
Юзаем указание шага через by.

begin
for i in 1..10 by 2 loop
dbms_output.put_line(i);
end loop;
end;
/

Для экспериментов вполне пригодится СУБД Oracle21с XE, установленная в Docker.

3️⃣ И другие варианты, на которые хватит вашей фантазии 🧠
Кое-какие накидали ребята в чатике. Гранд мерси 😉

#решениезадачи #loop