Определение оператора создания схемы.
::=
<Имя схемы>
должно быть уникально среди имен существующих схем, пользователей и ролей.
Создание схемы допускается только для текущего пользователя, т.е. в опции
AUTHORIZATION
<имя пользователя>
должно быть именем текущего пользователя.
Опция DEFAULT CHARACTER SET
допустима, но в текущей версии игнорируется.
Кодовая страница по умолчанию задаётся либо для БД в целом (set database default
character set
), либо для каждого активного канала в отдельности (set names
).
Опция OR REPLACE
заставляет удалять существующую в БД схему и создавать
её под тем же именем, но с указанными параметрами.
Если в схеме существуют объекты, то при выполнении команды OR REPLACE будет выдано сообщение 1513 «Пользователя (или схему) нельзя удалить без опции CASCADE из-за существующих объектов». Для удаления схемы совместно с объектами необходимо использовать команду «Удаление схемы» с опцией CASCADE.
Опция IF NOT EXISTS
отменяет выполнение оператора, если указанная схема уже существует в БД.
Указывая имя схемы, пользователь может работать с любым объектом любой из своих схем и с объектами других пользователей при наличии соответствующих прав.
Без указания имени схемы допускается работа только с объектами текущей схемы.
Рекурсивные схемы не допускаются.
Для создания схемы требуется привилегия RESOURCE.
create or replace user TEST identified by 'TEST'; grant resource to TEST; username TEST/TEST create or replace schema SCHEMA1; create or replace table TEST(i int); insert into TEST values(1); !Должно вернуться значение 1 select * from TEST; | 1| set schema SCHEMA1; create or replace table TEST(i int); insert into TEST values(2); !Должно вернуться значение 2 select * from TEST; | 2| !Должно вернуться значение 1 select * from TEST.TEST; | 1| !Должно вернуться значение 2 select * from SCHEMA1.TEST; | 2| username SYSTEM/MANAGER drop user TEST cascade;