powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / пользовательские функции в DB2 v.9 для z/OS
5 сообщений из 5, страница 1 из 1
пользовательские функции в DB2 v.9 для z/OS
    #37436066
zaroman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Пытаюсь создать пользовательскую функцию:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE FUNCTION ZKCHAR2INT (ZKCHAR CHAR( 3 ))
   RETURNS CHAR( 3 )
   LANGUAGE SQL
   DETERMINISTIC
   NO EXTERNAL ACTION
   READS SQL DATA
   BEGIN ATOMIC
   DECLARE ZKINT CHAR( 3 );
 
 ... какие-то действия....
  
  RETURN ZKINT;
END;

При попытке создания функции компилятор выдает ошибку сразу после строчки DECLARE ZKINT CHAR(3); :

Код: plaintext
1.
2.
3.
DSNT408I SQLCODE = -199, ERROR:  ILLEGAL USE OF KEYWORD BEGIN.  TOKEN     
         <END-OF-STATEMENT> SPECIFIC FENCED RETURN SOURCE PARAMETER WAS   
         EXPECTED                                                         

Возможно ли вообще в DB2 v.9 для z/OS создание функции с телом в BEGIN ?
(В документации такие не встречаются. Здесь на форуме есть разные примеры функций с BEGIN, но может они работают только в DB2 для персоналок?)
Все, созданные ранее функции, были простые, в которых сразу стояло RETURN _выражение_ .
В новой функции логика должна быть посложнее и реализовать ее одним выражением - не получается.
...
Рейтинг: 0 / 0
пользовательские функции в DB2 v.9 для z/OS
    #37436377
zaroman,

Согласно документации - это возможно только в DB2 for z/OS V 10
...
Рейтинг: 0 / 0
пользовательские функции в DB2 v.9 для z/OS
    #37436393
Евгений Хабаров,

Документация:
DB2ZOSV9 : CREATE FUNCTION (SQL scalar)
DB2ZOSV10 : CREATE FUNCTION (SQL scalar)
...
Рейтинг: 0 / 0
пользовательские функции в DB2 v.9 для z/OS
    #37436459
zaroman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Хабаров, спасибо!
Придется, наверное, смотреть в сторону внешних функций...
...
Рейтинг: 0 / 0
пользовательские функции в DB2 v.9 для z/OS
    #37436783
zaromanЕвгений Хабаров, спасибо!
Придется, наверное, смотреть в сторону внешних функций...
Логика точно необходима в функции? Хранимая процедура не подойдет?
Для вызова внешних процедур/функций всегда есть некий overhead, в случае функции, которая вызывается для каждой строки, если она например NOT DETERMINISTIC, это может привести к значительным задержкам.
Как выглядит задача? Возможно вопрос решается иначе, не через функции.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / пользовательские функции в DB2 v.9 для z/OS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]