FirebirdSQL logo
 PACKAGE BODYFILTER 

Кто может объявить внешнюю функцию?

Выполнить оператор DECLARE EXTERNAL FUNCTION могут:

Пользователь, объявивший внешнюю функцию, становится её владельцем.

Примеры

Example 1. Объявление внешней функции с передачей входных и выходных параметров по ссылке
DECLARE EXTERNAL FUNCTION addDay
TIMESTAMP, INT
RETURNS TIMESTAMP
ENTRY_POINT 'addDay' MODULE_NAME 'fbudf';
Example 2. Объявление внешней функции с передачей входных и выходных параметров по дескриптору
DECLARE EXTERNAL FUNCTION invl
INT BY DESCRIPTOR, INT BY DESCRIPTOR
RETURNS INT BY DESCRIPTOR
ENTRY_POINT 'idNvl' MODULE_NAME 'fbudf';
Example 3. Объявление внешней функции с передачей входных параметров по ссылке, выходных по значению
DECLARE EXTERNAL FUNCTION isLeapYear
TIMESTAMP
RETURNS INT BY VALUE
ENTRY_POINT 'isLeapYear' MODULE_NAME 'fbudf';
Example 4. Объявление внешней функции с передачей входных и выходных параметров по дескриптору. В качестве выходного параметра используется второй параметр функции.
DECLARE EXTERNAL FUNCTION i64Truncate
NUMERIC(18) BY DESCRIPTOR, NUMERIC(18) BY DESCRIPTOR
RETURNS PARAMETER 2
ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf';

docnext count = 6

ALTER EXTERNAL FUNCTION

Назначение

Изменение точки входа и/или имени модуля для функции определённой пользователем (UDF).

Доступно в

DSQL

Синтаксис
ALTER EXTERNAL FUNCTION funcname
[ENTRY_POINT 'new_entry_point']
[MODULE_NAME 'new_library_name'];
Table 1. Параметры оператора ALTER EXTERNAL FUNCTION
Параметр Описание

funcname

Имя внешней функции.

new_entry_point

Новое имя экспортируемой функции (точки входа).

new_library_name

Новое имя модуля, в котором расположена функция.

Оператор ALTER EXTERNAL FUNCTION изменяет точку вход и/или имя модуля для функции определённой пользователем (UDF). При этом существующие зависимости сохраняются.

Предложение ENTRY_POINT позволяет указать новую точку входа (имя экспортируемой функции).

Предложение MODULE_NAME позволяет указать новое имя модуля, в котором расположена экспортируемая функция.

Кто может изменить внешнюю функцию?

Выполнить оператор ALTER EXTERNAL FUNCTION могут:

  • Администраторы

  • Владелец внешней функции;

  • Пользователи с привилегией ALTER ANY FUNCTION.

Примеры

Example 1. Изменение точки входа для внешней функции
ALTER EXTERNAL FUNCTION invl ENTRY_POINT 'intNvl';
Example 2. Изменение имени модуля для внешней функции
ALTER EXTERNAL FUNCTION invl MODULE_NAME 'fbudf2';

DROP EXTERNAL FUNCTION

Назначение

Удаление объявления функции определённой пользователем (UDF) из базы данных.

Доступно в

DSQL, ESQL.

Синтаксис
DROP EXTERNAL FUNCTION funcname
Table 1. Параметры оператора DROP EXTERNAL FUNCTION
Параметр Описание

funcname

Имя внешней функции.

Оператор DROP EXTERNAL FUNCTION удаляет объявление функции определённой пользователем из базы данных.Если есть зависимости от внешней функции, то удаления не произойдёт и будет выдана соответствующая ошибка.

Кто может удалить внешнюю функцию?

Выполнить оператор DROP EXTERNAL FUNCTION могут:

  • Администраторы

  • Владелец внешней функции;

  • Пользователи с привилегией DROP ANY FUNCTION.

Примеры

Example 1. Удаление внешней функции
DROP EXTERNAL FUNCTION addDay;
См. также:

DECLARE EXTERNAL FUNCTION.