On Mon, Jan 30, 2006 at 09:01:37AM +0700, ody quraviharto wrote:
> "declare tbl_name varchar:='tbl_A';
> begin
> if exists(select 1 from pg_tables where tablename=tbl_name) then
> select count(*) from tbl_name;
> end if;
> end"
>
> the message was: syntax error in $1 in "select count(*) from $1".
You'll need to use EXECUTE for this query; see "Executing Dynamic
Commands" in the PL/pgSQL documentation. Here's the link for 8.1
(but use the documentation for whatever version you're running):
http://www.postgresql.org/docs/8.1/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
--
Michael Fuhr