В PL/SQL разрешено помечать модули как серийно используемые. Состояние на этапе выполнения серийно используемогс (serially reusable) модуля будет существовать только в течение одного обращения к базе данных, а не в течение всего сеанса. Серийно используемый модуль имеет синтаксическую конструкцию
PRAGMA SERIALLY_REUSABLE;
в заголовке пакета (а также тело пакета при наличии такового). Если подобным образом модифицировать PersistPkg, результат будет иным (см. рис. 10.12).
Обратите внимание на отличие одного варианта от другого — не используемый серийно модуль сохраняет состояние курсора между обращениями к базе данных, в то время как серийно используемая версия сбрасывает состояние (и, следовательно, выходные данные) каждый раз. Различия между этими видами модулей приведены в следующей таблице. Серийно используемые модули экономят память за счет того, что состояние модуля сбрасывается после каждого вызова.
< Предыдущая | Следующая > |
---|