Ревью функции с динамическим SQL. Решение
Постановка: смотрите пост вторника.
Анализ
Кратко: я бы такой код не пропустил на ревью.
Такое ощущение, что это писал человек, который вчера узнал про коллекции и динамический SQL и начал применять это везде.
Начнем с требуемого функционала: нужно вывести определенные поля из таблицы employees отсортированной по полю salary.
Весь код можно упростить до:
Вполне, подойдет проход в цикле по неявному курсору.
Пример упрощенный, поэтому вместо “чего-то деланья”, выводится текст. Как правильно заметили участники чатика, было бы неплохо отделить мух от котлет. Вывод данных от получения данных. Но это уже совсем тонкая материя, не для этого уровня задачи.
Хотите научиться писать PL/SQL-код, за который не будет стыдно?
Уже сегодня в 20:00 запускается очередной поток курса “Основы PL/SQL”. Не упустите свой шанс 😉
Палец вверх, если задача понравилась 👍
Обсудить в чатике 🗣
#решениезадачи #dynamicsql #cursor
@oracle_dbd
Постановка: смотрите пост вторника.
Анализ
Кратко: я бы такой код не пропустил на ревью.
Такое ощущение, что это писал человек, который вчера узнал про коллекции и динамический SQL и начал применять это везде.
Начнем с требуемого функционала: нужно вывести определенные поля из таблицы employees отсортированной по полю salary.
Весь код можно упростить до:
beginОпределение локальных типов, коллекции, динамический SQL - все это не нужно и избыточно. Даже, не нужен столбец salary - он не выводится.
for r in (select first_name || last_name name
from employees
order by salary desc) loop
dbms_output.put_line(r.name);
end loop;
end;
/
Вполне, подойдет проход в цикле по неявному курсору.
Пример упрощенный, поэтому вместо “чего-то деланья”, выводится текст. Как правильно заметили участники чатика, было бы неплохо отделить мух от котлет. Вывод данных от получения данных. Но это уже совсем тонкая материя, не для этого уровня задачи.
Хотите научиться писать PL/SQL-код, за который не будет стыдно?
Уже сегодня в 20:00 запускается очередной поток курса “Основы PL/SQL”. Не упустите свой шанс 😉
Палец вверх, если задача понравилась 👍
Обсудить в чатике 🗣
#решениезадачи #dynamicsql #cursor
@oracle_dbd