我无法在SQL DB2中执行简单的功能

时间:2019-03-04 23:51:09

标签: sql db2

我正在尝试学习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 :(得分:0)

怎么样

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