Re: Table name as a variable in SELECT query

Поиск
Список
Период
Сортировка
От Andreas Kretschmer
Тема Re: Table name as a variable in SELECT query
Дата
Msg-id 20101218140104.GA16363@tux
обсуждение исходный текст
Ответ на Table name as a variable in SELECT query  ("Andrey Fokin" <affox@myway.com>)
Список pgsql-sql
Andrey Fokin <affox@myway.com> wrote:

> Hi,
> please advise is possible in SELECT query use variable as a table name?
> 
> I would like to have  for example something like:
> 
> CREATE OR REPLACE FUNCTION test_name (tb varchar) RETURNS int AS  $$
> 
> DECLARE 
> 
>                  ......
> 
> BEGIN
>         SELECT * FROM $1;
>         ........
> 
> Will be grateful for any idea about.

Yes, it is possible, with dynamic sql. You have to build a string that
contains your query, and then execute (it's a command in pl/pgsql) that
string. Read more:

http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN


Andreas
-- 
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect.                              (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly."   (unknown)
Kaufbach, Saxony, Germany, Europe.              N 51.05082°, E 13.56889°


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

Предыдущее
От: "Andrey Fokin"
Дата:
Сообщение: Table name as a variable in SELECT query
Следующее
От: acurtis416
Дата:
Сообщение: Help with Function in plpgsql