Re: function, that uses different table(names)

Поиск
Список
Период
Сортировка
От Moritz Bayer
Тема Re: function, that uses different table(names)
Дата
Msg-id c244500b0511020536t1a124746k@mail.gmail.com
обсуждение исходный текст
Ответ на function, that uses different table(names)  (Moritz Bayer <moritz.bayer@googlemail.com>)
Ответы Re: function, that uses different table(names)  ("A. Kretschmer" <andreas.kretschmer@schollglas.com>)
Список pgsql-sql
Sorry, pushed the send - button  by accident. So here is the right text:

CREATE OR REPLACE function getmaxuserid(integer) RETURNS integer AS'
     DECLARE live_table varchar(100);
      DECLARE i_return integer;
BEGIN
     live_table := ''tbl_highscore_app'' || cast($1 as varchar);
     SELECT   i_return = max(userid) FROM ''tbl_highscore_app'' || cast($1 as varchar);
     return(i_return);
 END;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

My parser tells me that this is not possible.
Does anybody has an advice, how to fix my problem? I don't want to write this function 28 times for 28 different tables...

Thanx in advance,
Moritz


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.








В списке pgsql-sql по дате отправления:

Предыдущее
От: Moritz Bayer
Дата:
Сообщение: function, that uses different table(names)
Следующее
От: "A. Kretschmer"
Дата:
Сообщение: Re: function, that uses different table(names)