From: | Seref Arikan <serefarikan(at)gmail(dot)com> |
---|---|
To: | PG-General Mailing List <pgsql-general(at)postgresql(dot)org> |
Subject: | How can I create null value from function call with no results? |
Date: | 2014-07-30 18:13:00 |
Message-ID: | CA+4Thdo__L=X4o5hAO8p_9rMgnao93Ah62gQXx9-p4_WxmkGkg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Greetings,
I want to call a function using a column of a table as the parameter and
return the parameter and function results together.
The problem is, when the function returns an empty row my select statement
that uses the function returns an empty row as well.
The following simplified snippet demonstrates the behaviour I'm trying to
change:
create or replace function test_empty_row(p_instance_id integer)
RETURNS TABLE (instance_id_int INTEGER, valstring TEXT)
AS
$$
BEGIN
return query SELECT 0, 'nothing'::text where 1 = 2;
END;
$$ LANGUAGE plpgsql;
select 1,test_empty_row(1); (this is actually "SELECT A.somefield,
myfunc(A.somefield) from my_table A" in my code)
The query above returns 0 rows. Instead of that I'd like to get back
1, null,null
when the query in the function returns zero results
I've been trying to do this in a number of ways for some time now, but I
guess I've run out of brain cells for today.
Regards
Seref
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2014-07-30 18:18:07 | Re: How can I create null value from function call with no results? |
Previous Message | Kevin Goess | 2014-07-30 17:51:14 | free RAM not being used for page cache |