Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Пользовательские SQL-функции в DBS

Этот вариант инструкции CREATE FUNCTION определяет скалярную, табличную или строковую SQL функцию. Данный вариант является наиболее распространенной формой пользовательских функций DB2. Помните, что скалярная функция при вызове возвращает одно значение. Табличную функцию можно использовать в предложении FROM инструкции SELECT, она возвращает таблицу. Строковая функция возвращает строку. Ее можно использовать в качестве функции для преобразования.

В пользовательской SQL функции можно использовать следующие предложения.

CREATE FUNCTION имя_объекта [(имя_параметра тип_данных [, …])]
RETURNS {тип_данных | {ROW | TABLE} список_столбцов)
[SPECIFIC специальное_имя] [LANGUAGE SQL] [DETERMINISTIC | NOT DETERMINISTIC]
[[NO] EXTERNAL ACTION] [CONTAINS SQL | READS SQL DATA] [STATIC DISPATCH] [CALLED ON NULL INPUT]
[PREDICATES (определение_предиката)] блок_кода

Вот пример пользовательской SQL функции, которая возвращает объединенное имя, составленное из значений разных полей.

CREATE FUNCTION prod.cust_name (in_custno INTEGER) RETURNS VARCHAR(31)
LANGUAGE SQL
READS SQL DATA NO EXTERNAL ACTION DETERMINISTIC RETURN
SELECT (c.firstnme CONCAT ‘ ‘ CONCAT c.midinit CONCAT ‘.’ CONCAT c.lastname) AS name
FROM prod.customer с WHERE c.custno=10;

Источник