Задача. Ревью анонимного PL/SQL-блока
И снова ревью кода.
Кстати, отличная практика проводить code review pull request’ов:
🔸 всякая дичь не попадает в prod;
🔸 команда шарит экспертизу и т.п.
Чем дальше от dev-стенда найдена ошибка, тем она дороже. Найти багу в prod совсем не то, что найти в test-окружении. Однако, это лирика, перейдем к нашему примеру.
declare
type name_salary_rt is record(
name varchar2(1000)
,salary number);
type name_salary_aat is table of name_salary_rt index by pls_integer;
l_employees name_salary_aat;
begin
execute immediate q'[select first_name || ' ' || last_name, salary
from employees
order by salary desc]' bulk collect
into l_employees;
for indx in 1 .. l_employees.count loop
dbms_output.put_line(l_employees(indx).name);
end loop;
end;
/
Что делает данный код? Корректный ли он? Как вы считаете, можно ли его переписать? Пропустили бы на code-review?
Подобные вещи мы разбираем на 3х месячном курсе PL/SQL.Основы. Старт 9 сентября.
Осталось 2️⃣ места 🔥
Обсуждение, как всегда, в четверг 🎓
#задача
@oracle_dbd