Установка текущей схемы (SET SCHEMA)

Функция

Определение оператора установки текущей схемы.

Спецификация
   
<​установка схемы​>::=
Синтаксические правила
  1. <​Имя схемы​> должно задавать имя существующей схемы.

Общие правила
  1. Пользователь может устанавливать текущими только те схемы, владельцем которых он является.

  2. После установки текущей схемы, к её объектам можно обращаться без указания имени схемы (т.е. можно, например, использовать в запросе вместо конструкции «имя схемы.TABLE1» просто «TABLE1»).

  3. После задания текущей схемы обращение к объектам других схем должно обязательно сопровождаться именем схемы (т.е., например, для пользователя USER_TEST при обращении к таблице «TABLE2», созданной в схеме пользователя по умолчанию, следует писать «USER_TEST.TABLE2»).

  4. Текущая схема устанавливается на сессию.

  5. Установленная в соединении схема по умолчанию распространяется на все текущие и порождаемые каналы соединения.

  6. Если в качестве <​имени схемы​> задать имя текущего пользователя, то текущая схема будет «сброшена» и текущей схемой будет считаться схема пользователя по умолчанию.

    Примечание

    Для корректной работы со схемами во вновь создаваемых объектах БД, в которых хранится текст запроса на создание этого объекта (триггеры, процедуры, глобальные события), настоятельно рекомендуется указывать полное имя объекта в формате <​имя схемы​>| <​имя пользователя​>.<​имя объекта​>, т.к. неполное <​имя объекта​> в один момент времени может указывать на один объект БД, а впоследствии, при смене текущей схемы – на другой. Эта рекомендация не распространяется на представления. В представлении все ссылки к именам таблиц без имен пользователей рассматриваются как ссылки к таблицам создателя представления. Т.е. для того, чтобы корректно работать со схемами, в представлениях надо указывать полные имена таблиц.