Средства определения и манипулирования схемой
Как и в SQL/89, в SQL/92 существует оператор определения схемы, с помощью которого можно за одно обращение к СУБД создать все необходимые объекты, связанные с указанным идентификатором авторизации. Этот оператор имеет следующий синтаксис:
<schema definition> ::= CREATE SCHEMA <schema name clause> [ <schema character set specification> ] [ <schema element>... ] <schema name clause> ::= <schema name> |AUTHORIZATION <schema authorization identifier> <schema name> AUTHORIZATION <schema authorization identifier> <schema authorization identifier> ::= <authorization identifier> <schema character set specification> ::= DEFAULT CHARACTER SET <character set specification> <schema element> ::= <domain definition> |<table definition> |<view definition> |<grant statement> |<assertion definition> |<character set definition> |<collation definition> |<translation definition>
Пояснения:
(a) если определение схемы содержится в модуле, то в качестве идентификатора авторизации схемы используется идентификатор авторизации модуля;
(b) иначе, в качестве идентификатора авторизации схемы используется идентификатор авторизации SQL-сессии.
В отличие от SQL/89, (a) операторы, используемые для определения элементов схемы, можно использовать независимо, вне оператора определения схемы и (b) созданную ранее схему можно уничтожить. Для уничтожения схемы используется оператор DROPSCHEMA, определяемый следующим синтаксисом:
<drop schema statement> ::= DROP SCHEMA <schema name> <drop behavior> <drop behavior> ::= CASCADE RESTRICT
Пояснения: