Область применения переменных уровня пакета Oracle - PullRequest
23 голосов
/ 05 марта 2010

Учитывая следующее определение пакета Oracle (10g):

create or replace PACKAGE "foo"
AS

   bar VARCHAR2(32000) := NULL;

END;

какова область действия бара? Каждый сеанс получает свой собственный foo.bar, или глобальный foo.bar между сессиями?

Можете ли вы процитировать мне главу и стих из справочного документа?

Ответы [ 2 ]

22 голосов
/ 05 марта 2010

Область действия находится на уровне сеанса. См. Первое предложение под заголовком «Дополнительные функции» в PL / SQL Руководство пользователя и справочник

1 голос
/ 19 марта 2013

Эта переменная может содержать разные значения в нескольких сеансах. Если вы хотите изменить это, используйте PRAGMA_SERIALLY_REUSABLE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...