Руководство по языку sql
Download 1.22 Mb. Pdf ko'rish
|
Firebird3 SQL features
- Bu sahifa navigatsiya:
- CREATE FUNCTION
- ALTER FUNCTION
CREATE FUNCTION ADD_INT(A INT, B INT DEFAULT 0)
RETURNS INT Новые возможности языка SQL Firebird 3.0 42 AS BEGIN RETURN A+B; END Вызов в запросе: SELECT ADD_INT(2, 3) AS R FROM RDB$DATABASE Вызов внутри PSQL кода, второй необязательный параметр не указан: MY_VAR = ADD_INT(A); 2. Детерминированная функция, возвращающая значение константы e: CREATE FUNCTION FN_E() RETURNS DOUBLE PRECISION DETERMINISTIC AS BEGIN RETURN EXP(1); END 3. Функция, возвращающая имя мнемоники по имени столбца и значения мнемоники. CREATE FUNCTION GET_MNEMONIC ( AFIELD_NAME TYPE OF COLUMN RDB$TYPES.RDB$FIELD_NAME, ATYPE TYPE OF COLUMN RDB$TYPES.RDB$TYPE) RETURNS TYPE OF COLUMN RDB$TYPES.RDB$TYPE_NAME AS BEGIN RETURN (SELECT RDB$TYPE_NAME FROM RDB$TYPES WHERE RDB$FIELD_NAME = :AFIELD_NAME AND RDB$TYPE = :ATYPE); END 4. Создание функции находящейся во внешнем модуле (UDR). Реализация функции расположена во внешнем модуле udrcpp_example. Имя функции внутри модуля - wait_event. create function wait_event ( event_name varchar(31) character set ascii ) returns integer external name 'udrcpp_example!wait_event' engine udr; См. также CREATE OR ALTER FUNCTION , RECREATE FUNCTION , ALTER FUNCTION , DROP FUNCTION Новые возможности языка SQL Firebird 3.0 43 ALTER FUNCTION Изменение существующей хранимой функции. Доступно: DSQL Синтаксис: ALTER FUNCTION funcname [(<inparam> [, <inparam> ...])] RETURNS { EXTERNAL NAME ' | { AS [<declarations>] BEGIN [<PSQL_statements>] END } Подробнее см. CREATE FUNCTION Описание: Оператор ALTER FUNCTION позволяет изменять состав и характеристики входных параметров, типа выходного значения, локальных переменных, именованных курсоров, подпрограмм и тело хранимой функции. Для внешних (UDR) вы можете изменить точку входа и имя движка. Внешние функции, объявленные как DECLARE EXTERNAL FUNCTION, так же известные как UDF, невозможно преобразовать в PSQL функции и наоборот. После выполнения существующие привилегии и зависимости сохраняются. Предупреждение: Будьте осторожны при изменении количества и типов входных параметров хранимых функций. Существующий код приложения может стать неработоспособным из-за того, что формат вызова функции несовместим с новым описанием параметров. Кроме того, PSQL модули, использующие изменѐнную хранимую функцию, могут стать некорректными. Информация о том, как это обнаружить, находится в разделе RDB$VALID_BLR. Изменить хранимую функцию могут: владелец хранимой функции; пользователь SYSDBA; Любой пользователь, которому выдана привилегия на изменение любой функций (GRANT ALTER ANY FUNCTION TO [USER | ROLE] Новые возможности языка SQL Firebird 3.0 44 любой пользователь, подключенный с ролью RDB$ADMIN (роль должна быть назначена пользователю); пользователь операционной системы root (Linux); администраторы Windows, если используется доверительная авторизация (trusted authentication) и включено автоматическое предоставление роли RDB$ADMIN администраторам Windows. Примеры: Изменение функции сложения целочисленных значений. Вместо двух теперь складывается три значения. Download 1.22 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling