15.1.16 Оператор CREATE LIBRARY
CREATE LIBRARY [IF NOT EXISTS] [database.]library
LANGUAGE language
AS code
Этот оператор создает библиотеку кода JavaScript в указанной базе данных, если таковая существует. Если база данных не указана, библиотека создается в текущей базе данных. Имя библиотеки может быть любым допустимым идентификатором SQL. LANGUAGE должен быть JavaScript (регистр не учитывается).
code — это строка, содержащая код JavaScript, который проверяется на валидность при создании; неверный код приводит к отклонению оператора с ошибкой. Строка code может быть заключена в кавычки «$» или одинарные кавычки; она также может быть заключена в двойные кавычки, если ANSI_QUOTES режим SQL не установлен.
Для выполнения CREATE LIBRARY пользователю необходимо иметь право CREATE ROUTINE. Для использования созданной библиотеки в хранимой процедуре пользователю необходимо право EXECUTE.
Первый оператор создает библиотеку JavaScript под названием lib1 в базе данных jslib. Следующий оператор SELECT отображает строку в схеме информации LIBRARIES таблицы, соответствующую только что созданной библиотеке.
mysql> CREATE LIBRARY IF NOT EXISTS jslib.lib1 LANGUAGE JAVASCRIPT
-> AS $$
$> export function f(n) {
$> return n
$> }
$> $$;
Query OK, 0 rows affected (0.02 sec)
mysql> SELECT * FROM information_schema.LIBRARIES
-> WHERE LIBRARY_SCHEMA='jslib'\G
*************************** 1. row ***************************
LIBRARY_CATALOG: def
LIBRARY_SCHEMA: jslib
LIBRARY_NAME: lib1
LIBRARY_DEFINITION:
export function f(n) {
return n
}
LANGUAGE: JAVASCRIPT
CREATED: 2024-12-16 16:36:44
LAST_ALTERED: 2024-12-16 16:36:44
SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
CREATOR: me@localhost
1 row in set (0.00 sec)
CREATE LIBRARY был добавлен в MySQL 9.2.0.
Более подробную информацию и примеры см. в Разделе 27.3.8, «Использование библиотек JavaScript».
© 2025 Oracle
Licensed under the GPLv2 License.