Re: How to use row values as function parameters

From: "Andrus" <kobruleht2(at)hot(dot)ee>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: "pgsql-general" <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to use row values as function parameters
Date: 2016-05-14 21:13:12
Message-ID: 7263ADA7656144AE911BF5EB386A35FD@dell2
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi!
Thank you.
>Use a CTE and move the function call to the select list - then explode the result in the main query.
>Basically:
>WITH func_cte AS (
>SELECT func_call(tbl)
FROM tbl
)​
​>SELECT (func_call).*
>FROM func_cte;
​>​The parens are required to make the parser see func_call as a column name instead of a table name.​

I tried in 9.5

CREATE or replace FUNCTION crtKAIVE(
_doktyybid text default 'GVY'
)
RETURNS TABLE (
id integer
)
AS $f_crkaive$
select 1
$f_crkaive$ LANGUAGE sql STABLE;

create temp table ko ( doktyyp text ) on commit drop;
insert into ko values ('G');

WITH func_cte AS (
SELECT crtKAIVE(ko.doktyyp)
FROM ko
)​
​SELECT (crtKAIVE).*
FROM func_cte;

but got strange error

ERROR: syntax error at or near "​"
LINE 18: )​

How to fix ?

Andrus.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2016-05-14 21:34:11 Re: How to use row values as function parameters
Previous Message Adrian Klaver 2016-05-14 21:01:24 Re: How to use row values as function parameters