Re: Table name as a variable in SELECT query - Mailing list pgsql-sql

From Andreas Kretschmer
Subject Re: Table name as a variable in SELECT query
Date
Msg-id 20101218140104.GA16363@tux
Whole thread Raw
In response to Table name as a variable in SELECT query  ("Andrey Fokin" <affox@myway.com>)
List 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 by date:

Previous
From: "Andrey Fokin"
Date:
Subject: Table name as a variable in SELECT query
Next
From: acurtis416
Date:
Subject: Help with Function in plpgsql