Passing a table as parameter

From: Jon Smark <jon(dot)smark(at)yahoo(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Passing a table as parameter
Date: 2011-03-21 17:43:56
Message-ID: 346859.41485.qm@web112809.mail.gq1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

Is there any way for a SQL or PL/pgSQL function to receive a table
as parameter? As an illustration, consider the dummy example below.
Note that functions get_from_data1 and get_from_data2 follow essentially
the same pattern; it would be nice to define instead a single polymorphic
function parameterised on the id and table. Is this possible?

Thanks in advance!
Jon

CREATE TABLE data1 (id int4, content text);
CREATE TABLE data2 (id int8, content text);

CREATE FUNCTION get_from_data1 (int4)
RETURNS SETOF text
LANGUAGE sql STABLE AS
$$
SELECT content FROM data1 WHERE id = $1;
$$;

CREATE FUNCTION get_from_data2 (int8)
RETURNS SETOF text
LANGUAGE sql STABLE AS
$$
SELECT content FROM data2 WHERE id = $1;
$$;

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Aljoša Mohorović 2011-03-21 17:45:32 postgres conferences missing videos?
Previous Message tv 2011-03-21 17:04:03 Re: query taking much longer since Postgres 8.4 upgrade