Конкурс
на вакансию Oracle-разработчика

  • Ты гуру PL/SQL? Больше года работаешь с базами данных Oracle?
  • Хочешь развиваться дальше вместе с лидерами рынка на выгодных условиях?
  • Тогда подтверди свою квалификацию, выполнив наше тестовое задание, а мы сделаем тебе предложение, от которого ты не сможешь отказаться!

Мы гарантируем:

Помощь
с релокацией
в любой регион
Конкурентную
заработную плату.
Готовы обсудить
повышение относительно
текущего дохода
Интересные
и нестандартные задачи,
решаемые в команде
с опытными
разработчиками
Курсы для повышения
квалификации,
100% оплата
за счёт компании

Выполните тестовое задание

Пример 1:

declare
  l_rs number;
  l_rnd binary_integer;
begin
  update T set f_rnd = dbms_random.random where f_id = :id returning ora_rowscn into l_rs;
  commit;
  select f_rnd into l_rnd from T where ora_rowscn = l_rs;
  dbms_output.put_line(l_rnd);
end;

Пример 2:

declare
  l_rs number;
  l_rnd binary_integer;
begin
  update T set f_rnd = dbms_random.random where f_id = :id returning ora_rowscn into l_rs;
  select f_rnd into l_rnd from T where ora_rowscn = l_rs;
  dbms_output.put_line(l_rnd);
  commit;
end;

Известно, что f_id является первичным ключом таблицы Т.

Что будет выведено в буфер в первом и втором примере и почему?