Обсуждение: Returning a table from a function, that requires multiple selects?
I need to encapsulate, what are basically 2 related function calls into a single function. The result of each of th calls is a date type. y current thinking is to return a 2 row table with the 2 dates in it. But, I seem to be having issues getting this to work. Is it possible for a function to return a table with results from multiple queries? -- "They that would give up essential liberty for temporary safety deserve neither liberty nor safety." -- Benjamin Franklin
On Aug 30, 2019, at 2:03 PM, stan <stanb@panix.com> wrote:I need to encapsulate, what are basically 2 related function calls into a single
function. The result of each of th calls is a date type.
y current thinking is to return a 2 row table with the 2 dates in it. But, I seem to
be having issues getting this to work.
Is it possible for a function to return a table with results from multiple
queries?
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
select f1.* from first_query as f1 UNION select f2.* from second_query as f2;
On Aug 30, 2019, at 13:03 , stan <stanb@panix.com> wrote:
You could just return a tuple VALUES(a, b). Or you could define a type to return if you want to get fancy.ul[class*='mb-extra__public-links'], ul[class*='mb-note__public-links'], ul[class*='mb-task__public-links'] { display: none !important; }
I need to encapsulate, what are basically 2 related function calls into a single
function. The result of each of th calls is a date type.
y current thinking is to return a 2 row table with the 2 dates in it. But, I seem to
be having issues getting this to work.
Is it possible for a function to return a table with results from multiple
queries?
You could just return a tuple VALUES(a, b). Or you could define a type to return if you want to get fancy.
![](https://bowtie.mailbutler.io/tracking/hit/49429725-2f4b-45eb-b00f-a9afec9e672a/0cd63bcf-2006-4e60-8a06-6497a2939f30/t.gif)
On Aug 30, 2019, at 2:09 PM, Guyren Howe <guyren@gmail.com> wrote:On Aug 30, 2019, at 13:03 , stan <stanb@panix.com> wrote:I need to encapsulate, what are basically 2 related function calls into a single
function. The result of each of th calls is a date type.
y current thinking is to return a 2 row table with the 2 dates in it. But, I seem to
be having issues getting this to work.
Is it possible for a function to return a table with results from multiple
queries?
You could just return a tuple VALUES(a, b). Or you could define a type to return if you want to get fancy.
Rob Sargent <robjsargent@gmail.com> writes: >> On Aug 30, 2019, at 2:09 PM, Guyren Howe <guyren@gmail.com> wrote: >> >> On Aug 30, 2019, at 13:03 , stan <stanb@panix.com <mailto:stanb@panix.com>> wrote: >>> Is it possible for a function to return a table with results from multiple >>> queries? >> You could just return a tuple VALUES(a, b). Or you could define a type to return if you want to get fancy. > Here I you might want VALUE(array[‘heading1’,a], array[‘heading2',b]) unless you’re certain you know which date is which. Yeah, that would be a good reason to return a declared composite type. Something like CREATE TYPE two_dates AS (start date, stop date); CREATE FUNCTION f(...) RETURNS two_dates AS ...; SELECT * FROM f(...); regards, tom lane
On Fri, Aug 30, 2019 at 04:03:15PM -0400, stan wrote: > I need to encapsulate, what are basically 2 related function calls into a single > function. The result of each of th calls is a date type. > > y current thinking is to return a 2 row table with the 2 dates in it. But, I seem to > be having issues getting this to work. > > Is it possible for a function to return a table with results from multiple > queries? > Got it working, so yes this can be done. Next I have to figure out how to configure the next function to accept this table. Error message says something about configuring it to accept a record. -- "They that would give up essential liberty for temporary safety deserve neither liberty nor safety." -- Benjamin Franklin