ОБЪЯВЛЕНИЕ ГЛОБАЛЬНОГО ВРЕМЕННОГО СТОЛА - PullRequest
0 голосов
/ 18 марта 2019

DB2 / 400 SQL: я работаю в функции sql, использующей глобальную временную таблицу.У меня есть проблема, чтобы объявить эту таблицу: SQL отправляет мне ошибку, но я не вижу, в чем проблема?Может кто-нибудь сказать мне, что об этой ошибке?

Функция с объявлением глобальной временной таблицы

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Раздел объявления должен быть до создания каких-либо таблиц.

Хотя это кажется противоречивым, DECLARE GLOBAL TEMPORARY TABLE не является обычным объявлением переменной.

Попробуйте переместить другие объявления переменных над объявлением таблицы.

0 голосов
/ 18 марта 2019

Я не говорю и не читаю по-французски, но похоже, что ошибка говорит вам, что определение вашей функции ожидает возвращаемого значения, но тело функции ничего не возвращает.

Теперь при создании скалярной функции SQL тело функции начинается с объявлений. Эти объявления предназначены для переменных и курсоров. Несколько неудачно, что вы создаете глобальную временную таблицу, используя оператор, начинающийся с DECLARE. Он принадлежит не в декларациях, а в теле процедуры.

                      .-NOT ATOMIC-.   
>>-+--------+--BEGIN--+------------+---------------------------->
   '-label:-'         '-ATOMIC-----'   

>--+---------------------------------------+-------------------->
   | .-----------------------------------. |   
   | V                                   | |   
   '---+-SQL-variable-declaration--+-- ; +-'   
       +-SQL-condition-declaration-+           
       +-return-codes-declaration--+           
       '-INCLUDE-statement---------'           

>--+--------------------------------------+--------------------->
   | .----------------------------------. |   
   | V                                  | |   
   '---+-DECLARE CURSOR-statement-+-- ; +-'   
       '-INCLUDE-statement--------'           

>--+---------------------------------+-------------------------->
   | .-----------------------------. |   
   | V                             | |   
   '---+-handler-declaration-+-- ; +-'   
       '-INCLUDE-statement---'           

   .---------------------------------.                   
   V                                 |                   
>----+-----------------------------+-+--END--+-------+---------><
     '-SQL-procedure-statement-- ; '         '-label-'

Это часть оператора процедуры SQL!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...