Документация Oracle на русском языке





Сайт посвящен разработке информационных систем с использованием технологий Oracle. На сайте можно найти полезную литературу и документацию на русском языке по программированию и администрированию Oracle.Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации.

Главная :: Карта


Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных компании Oracle.



 

DeepEdit!

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

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

Состояние модулей на этапе выполнения

При первом создании экземпляра модуля его р-код считывается с диска и помещается в разделяемый пул. Однако состояние модуля на этапе выполне­ния (runtime state), т.е. сведения о модульных переменных и курсорах, фик­сируется в памяти сеанса в пользовательской глобальной области, что
гарантирует наличие собственной копии состояния модуля у каждого сеан­са. Оно инициализируется при создании экземпляра модуля (в это время вы­полняется код инициализации) и не сбрасывается до окончания сеанса.
Даже если сам модуль удаляется со временем из разделяемого пула, состоя­ние модуля сохраняется. Как было показано в главе 9, переменные, объявля­емые в заголовке модуля, имеют глобальную область действия. Они видимы
любому блоку PL/SQL, имеющему привилегию EXECUTE на модуль. Поско­льку состояние на этапе выполнения будет сохраняться в течение всего се­анса работы с базой данных, то переменные в заголовке пакета могут использоваться как глобальные переменные. Рассмотрим пример:


Процедура PersistPkg. ReadStudents выбирает информацию из курсора StudentsCursor. Он объявлен на уровне модуля (а не внутри ReadStudents), поэтому останется вне вызова ReadStudents. Вызовем PersistPkg. ReadStu­dents в следующем блоке:
Результаты троекратного выполнения этого блока представлены на рис. 10.11. При каждом вызове возвращаются разные данные, поскольку курсор остается открытым между вызовами.
 



jAntivirus