проблемы с функцией записи в бд 2

#db2 #user-defined-functions

Вопрос:

Я пытаюсь написать функцию, используя modifies sql data .

Вот мой код:

 create function n1n2n3ToCityName()
    returns table (cityname varchar(40),name1 varchar(40),name2 
    varchar(40),name3 varchar(40))
    modifies sql data
    language sql
    begin
    declare tempCityName varchar(40);
    end;
 

Когда я пытаюсь скомпилировать это, возникает ошибка:

[42613][-628] Присутствуют множественные или конфликтующие ключевые слова, включающие предложение «ИЗМЕНЯЕТ ДАННЫЕ SQL».. SQLCODE=-628, SQLSTATE=42613, ДРАЙВЕР=4.26.14

Как я могу это исправить?

Ответ №1:

Табличные функции, изменяющие данные SQL, могут быть только встроенными, как указано в руководстве (см. Примечание 4). Встроенные функции характеризуются BEGIN ATOMIC .

Заменить begin на begin atomic .