SQL函数中的条件语句

时间:2018-01-13 09:34:59

标签: db2

我想要的是如何在函数中包含条件语句。

例如,如果我执行类似

的内容
select * from table(afunction(0));
select * from table(afunction(1));

两种陈述都有不同的输出。

我试过了,

create function afunction(custid int) 
returns table(customerid int) 
language sql 
reads sql data 
no external action 
deterministic 
return 
    if (custid = 0) then 
        select customerid from customer;
    else 
        select customerid from orderdone;
    end if;

但它导致了错误。

我知道我可以输入,

select customerid from customer;
select customerid from orderdone;

但我的动机是学习如何在函数中放置条件语句。我试过“案例”,但它不起作用。我的语法出了什么问题?

1 个答案:

答案 0 :(得分:1)

您需要compound statement

create function ...
begin
  if (custid = 0) then 
    return select customerid from customer;
  else 
    return select customerid from orderdone;
  end if;
end