db2:在同一行上插入2个变量的最佳方法是什么

时间:2013-09-17 10:52:26

标签: sql db2 db2-luw

我想创建一个函数返回一个表,其中1行只填充预先计算的2个值。

在我的例子之下澄清我的意思

  create function()
  returns table(a integer,b integer)
  language sql
  begin
   declare c integer;
   declare d integer;
   set c=10;
   set d=20;
   -- how to return here c and d on the same row
   -- of a return table?
  end@

实现这一目标的最佳方法是什么? 我应该创建一个临时表并插入这两个值,还是有SELECT的特殊声明或特殊用途来执行此操作?

1 个答案:

答案 0 :(得分:3)

我不知道它是否是最佳方式,因为你没有指定最佳的标准,但你可以使用VALUES语句,就像这样:

create function()
returns table(a integer,b integer)
language sql
begin
 return values (10, 20);
end@

或者,如果你真的需要变量:

create function()
returns table(a integer,b integer)
language sql
begin
 declare c integer;
 declare d integer;
 set c=10;
 set d=20;
 return values (c, d);
end@