DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Транзакции и блоки

Важно различать транзакции и блоки PL/SQL. Если начинается блок, то это не значит, что начинается транзакция. Аналогично, начало транзак­ции не обязательно должно совпадать с началом блока. Предположим, что выполняется несколько операторов в SQL*Plus:
SET        =        +
ROLLBACK WORK;
END;
Сначала выполняется оператор INSERT, а затем анонимный блок PL/SQL. В свою очередь, в блоке выполняются операторы UPDATE и ROLLBACK. Оператор ROLLBACK отменяет результаты работы не толь­ко оператора UPDATE, но и предшествующего оператора INSERT, кото­рый вместе с блоком является частью одного сеанса и, следовательно, одной транзакции.
Точно так же в одном блоке PL/SQL может содержаться несколько транзакций:
С помощью этого блока в таблицу        будут вводиться числа от 1 до 500, причем транзакции будут завершаться через каждые 50 строк. Таким образом, за время выполнения одного блока будет произведено 10 транзакций.

 









jAntivirus