Обложка канала

Oracle Developer👨🏻‍💻

Все о разработке в СУБД "Oracle" SQL, PL/SQL, оптимизация, архитектура, сертификации и многое другое.

Oracle Developer👨🏻‍💻

4 года назад
Открыть в
Задача. Ревью анонимного 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