Я не могу выполнить простую функцию в SQL DB2 - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь изучить основы SQL DB2, и я застрял, пытаясь использовать простую функцию.

Я создал небольшую таблицу, для которой я хочу выполнить свою функцию:

create table schema.MyTable (Num1 int, Num2 int)@

insert into schema.MyTable (Num1,Num2)
values (1,2),(3,4),(5,6)@

create or replace function schema.trial_funct(One int, Two int)
    return int
    language sql
begin
    declare price int;
    if One < 3 then set price = Two * 2;
    else set price = Two * 3;
    end if;
return price;
end@

select NUM1,NUM2, schema.trial_funct(NUM1,NUM2)
from schema.MyTable @

Я получаю эту ошибку при выполнении последней команды выбора:

'' Оператор не был обработан, поскольку функция schema.trial_funct разрешена в определенную функцию XXXX, которая недопустима в контексте, гдеон используется '' SQL CODE = -390, SQLSTATE = 42887

Может кто-нибудь помочь мне исправить это?большое спасибо

1 Ответ

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

как насчет

create or replace function schema.trial_funct(One int, Two int)
returns int
language sql
return case when One < 3 then Two * 2 else Two * 3 end

?

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