Определение оператора создания в БД новой кодировки.
::=
::=
::=
::=
::=
Опция OR REPLACE
заставляет удалять существующую в БД кодовую таблицу и создавать её под тем же именем, но с другими параметрами.
Опция IF NOT EXISTS
отменяет выполнение оператора, если указанная кодовая таблица уже существует в БД.
Одновременное использование опций IF NOT EXISTS
и OR REPLACE
запрещено.
Опции <номер плана>
и <номер страницы>
используются только при задании MBCS-кодировок.
<Тело кодовой таблицы>
– массив из 1536 байт. Для однобайтовой кодировки включает в себя следующие массивы: CTYPE
(512 байт), CASE
(256 байт), WEIGHTS
(256 байт), TO_UNICODE
(512 байт):
CTYPE
– имеет смысл только для однобайтовых кодировок и представляет собой массив свойств символов кодировки (пример свойств символа – число, буква или знак; в верхнем/нижнем регистре и т.п.);
CASE
– имеет смысл только для однобайтовых кодировок и представляет собой массив преобразований символов в верхний/нижний регистр;
WEIGHTS
– имеет смысл только для однобайтовых кодировок и представляет собой массив весов символов кодировки;
TO_UNICODE
– имеет смысл только для однобайтовых кодировок и представляет собой таблицу преобразования символов кодировки в UNICODE-символы (массивы для обратного преобразования из кодировки в UNICODE
автоматически создаются на этапе загрузки кодировки).
Для MBCS-кодировки можно указывать следующие типы кодировок:
EUC (по умолчанию) (примеры подобных кодировок: SHIFTJIS, JIS0208, JIS0201, HANGUL, JOHAB, KSC5601, BIG5. В ОС MS DOS: кодировки: 932, 936, 949, 950);
NONEUC – кодировка не совместима с EUC-овскими (примеры подобных кодировок: GB 2312-80, GB 12345-90, GB 7589-87, GB 7590-87, GB 8565-89, JIS0212, KSX1001, CNS11643);
UTF8 – UTF-8 представление символов.
Опции PLAN
и PAGE
задают, соответственно, номер плана и номер страницы для CNS11643-кодировки и обобщенной GB-кодировки, состоящей из GB 2312-80, GB 12345-90, GB 7589-87, GB 7590-87, GB 8565-89. Если PLAN
не указан, считается, что он равен нулю.
Опция WINDOWS_CODE
задает номер кодовой страницы для Windows-платформ.
После создания БД в обычном режиме по умолчанию задана кодировка, использующая таблицу из 127 символов. Существует возможность изменить кодировку по умолчанию для всей БД (см. пункт «Кодировка соединения по умолчанию»).
Создание однобайтовой кодировки:
CREATE CHARACTER SET CP866 WINDOWS_CODE 866 EXTERNAL( hex('200020002000200020002000200020002000280028002800280028002000200020 00200020002000200020002000200020002000200020002800280028002800080010001 00010001000100010001000100010001000100010001000100010000400040004000400 04000400040004000400040010001000100010001000100010000101010101010101010 10101010101010101010101010101010101010101010101010101010101010101010101 01010101010101100010001000100010001000020102010201020102010201020102010 20102010201020102010201020102010201020102010201020102010201020102010201 10001000100010002000010101010101010101010101010101010101010101010101010 10101010101010101010101010101010101010101010101010101010101010101010101 01010102010201020102010201020102010201020102010201020102010201020102011 00010001000100010001000100010001000100010001000100010001000100010001000 10001000100010001000100010001000100010001000100010001000100010001000100 01000100010001000100010001000100010001000100010000201020102010201020102 01020102010201020102010201020102010201020101010201010102010101020101010 20110001000100010001000100010000800'), hex('000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 2122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F406162636 465666768696A6B6C6D6E6F707172737475767778797A5B5C5D5E5F6041424344454647 48494A4B4C4D4E4F505152535455565758595A7B7C7D7E7FA0A1A2A3A4A5A6A7A8A9AAA BACADAEAFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF808182838485868788898A8B8C8D8E 8FB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D 2D3D4D5D6D7D8D9DADBDCDDDEDF909192939495969798999A9B9C9D9E9FF1F0F3F2F5F4 F7F6F8F9FAFBFCFDFEFF'), hex('000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 2122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434 445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 68696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8 B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE AFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D 2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 F6F7F8F9FAFBFCFDFEFF'), hex('00000100020003000400050006000700080009000A000B000C000D000E000F0010 001100120013001400150016001700180019001A001B001C001D001E001F00200021002 20023002400250026002700280029002A002B002C002D002E002F003000310032003300 3400350036003700380039003A003B003C003D003E003F0040004100420043004400450 046004700480049004A004B004C004D004E004F00500051005200530054005500560057 00580059005A005B005C005D005E005F006000610062006300640065006600670068006 9006A006B006C006D006E006F0070007100720073007400750076007700780079007A00 7B007C007D007E007F0010041104120413041404150416041704180419041A041B041C0 41D041E041F0420042104220423042404250426042704280429042A042B042C042D042E 042F0430043104320433043404350436043704380439043A043B043C043D043E043F049 125922593250225242561256225562555256325512557255D255C255B25102514253425 2C251C2500253C255E255F255A25542569256625602550256C256725682564256525592 55825522553256B256A2518250C25882584258C25902580254004410442044304440445 0446044704480449044A044B044C044D044E044F040104510404045404070457040E045 E04B0001922B7001A221621A400A025A000') );
При копировании примера для выполнения необходимо удалить символы перевода строки.