function, that uses different table(names)

From: Moritz Bayer <moritz(dot)bayer(at)googlemail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: function, that uses different table(names)
Date: 2005-11-02 13:30:38
Message-ID: c244500b0511020530i713d9748j@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello group,

I've a bunch of tables, which have just about the same name. They are just
iterated like this:

tbl_table1
tbl_table2
tbl_table3
...

They all have the same field, but different data.

Now I'm wondering, if I have to write functions for every table, although
they perform the same operation?
Or is it possible to pass an integer parameter to the function, use it to
put the right tablename together and perform the operation.

This would something look like this:

CREATE OR REPLACE function getmaxuserid(integer) RETURNS integer AS'
DECLARE tmp_tmp_tmp_table varchar(100);
DECLARE tmp_table varchar(100);
DECLARE tmp_tmp_table varchar(100);
DECLARE live_table varchar(100);
DECLARE i_return integer;
BEGIN
--live_table := ''tbl_highscore_app'' || cast($1 as varchar);
SELECT max(userid) FROM ''tbl_highscore_app'' || cast($1 as varchar);

return(0);
END;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

I don't know if this is good practise, but I'm trying to create a function
which gets an integer.

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Moritz Bayer 2005-11-02 13:36:06 Re: function, that uses different table(names)
Previous Message Mark R. Dingee 2005-11-02 13:29:47 Re: PGSQL encryption functions