Правильная ссылка на эту страницу
http://az-design.ru/Support/DataBase/SQL/SQL92/SQL92-2Create_character.shtml

CREATE CHARACTER SET
Определяет набор символов

Синтаксис

CREATE CHARACTER SET имя набора символов 
  [AS] GET источник получения набора символов 
  [ COLLATE имя последовательности сравнения 
  | COLLATION FROM источник последовательности сравнения ];

Использование
       Этот оператор определяет набор символов, используемый в текстовых строках. Поскольку SQL-92 является международным стандартом, данная возможность прежде всего предназначена для использования других языков помимо английского. Кроме того, этот оператор можно применять для изменения сравнения по умолчанию, чтобы определить другую версию того же набора символов, отличающуюся сравнением.
       В каждом SQL-приложении по умолчанию определены один или более наборов символов, которые обычно соответствуют национальному алфавиту, принятому международным стандартом для наборов символов или специально определенному в данном приложении набору. Одним из таких наборов является набор символов SQL_TEXT, используемый для записи выражений на языке SQL. Используя оператор CREATE CHARACTER SET, можно создать новый набор символов путем изменения существующих определений и получения новых имен.
       Понятие набора символов включает совокупность символов (repertoire), форму использования (form-of-use) и сравнение (collation). Форма использования определяет способ представления этих символов в базе данных, а сравнение — способ их упорядочения. Форма использования тесно связана с набором и отдельно от него может использоваться только с целью ее изменения (см. главу III раздел "Функции для работы со строковыми значениями"), При определении нового набора символов данный оператор объединяет определенный набор (некоторой совокупности символов) и сравнение. Набор символов является объектом схемы. Он имеет собственного владельца и все остальные пользователи должны получить привилегию USAGE, чтобы иметь к нему доступ.
       Набор символов подчиняется обычным правилам для объектов схемы. Следует заметить, что он должен создаваться владельцем схемы, а его имя в схеме должно быть уникальным. Если набор символов создается внутри последовательности операторов CREATE SCHEMA, то имя набора определяется именем схемы: последним расширением имени должно быть имя, создаваемой схемы. Пользователь, создающий набор символов, должен иметь возможность предоставить привилегию USAGE всем остальным. Если оператор CREATE CHARACTER SET исполняется в составе SQL-модуля, то текущий идентификатор, приписанный к пользователю или к модулю, должен иметь такие же привилегии, как и владелец схемы.
       Предложение GET определяет набор символов, получаемый из совокупности, который может быть как стандартным, так и определяемым в приложении. Последнее обеспечивает возможность расширения стандарта в части работы с наборами символов. В данном контексте слово "стандарт" означает поддержку национального алфавита или международного набора, так как определение стандартного набора символов выходит за рамки определений стандарта SQL.
       Пользователь может работать с нужным набором данной совокупности символов только в том случае, если получил для этого набора привилегию USAGE. Тогда можно создать новый набор символов из той же совокупности, используя другое сравнение. Например, можно сделать сравнения наборов ASCII и EBCDIC одинаковыми, что реально не соответствует истине, но даст возможность стать владельцем и управлять доступом к новому набору.
       Последним определяется умолчание сравнения для данного набора символов. Если оператор CREATE CHARACTER SET исполняется внутри последовательности операторов предложения CREATE SCHEMA, то для точного определения сравнения можно использовать предложение сравнения. В противном случае необходимо пользоваться предложением COLLATION FROM и некоторым предопределенным (заданным неявно) сравнением или использовать другой источник для получения сравнения согласно определениям оператора CREATE COLLATION.

Пример
       Данный оператор определяет новый набор символов, который получается из набора ASCII, но использует обратное (по отношению к ASCII) сравнение, т.е. 'а' > 'b':

CREATE CHARACTER SET Backwards_ASCII
   GET ASCII COLLATION FROM DESC (ASCII);

Уровни соответствия

Intermed

 

Для данного уровня одновременное определение набора символов и сравнения внутри последовательности операторов предложения CREATE SCHEMA не нужны

Entry

 

Для данного уровня не нужна поддержка оператора CREATE CHARACTER SET.

См. также
       главу II операторы CREATE SCHEMA, DROP CHARACTER SET, главу III раздел "Сравнения" и приложение D.


<<Пред. Оглавление
Начало раздела
След.>>




Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/DataBase/SQL/SQL92/SQL92-2Create_character.shtml