PostgreSQL子选择行作为函数参数

时间:2016-12-04 00:21:35

标签: postgresql subquery

我想将子选择的结果传递给函数

说我有一个返回boolean

的现有函数

函数report_can_edit,它采用report行类型。我想从另一个为id

传递report的函数调用此函数

(只是一个愚蠢的例子来说明我想要做的事情)

create or replace function report_can_edit(report report) returns boolean as $$
  select true; -- Imagine this does some complicated stuff
$$ language sql stable;


create or replace function task_edit(task_report_id int) returns boolean as $$
  select report_can_edit((select * from report where id = task_report_id))
$$ language sql stable;

这给出了 ERROR: subquery must return only one column

我是否必须先切换到plpgsql并选择一个已删除的行类型?或者有没有办法用sql类型函数来做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试:

milestoneSymbols.attr('d', d3.svg.symbol() 
                            .size(25) 
                            .type( function(d: any){ return d.typeSymbol;})