table name as parameter in pl/psql - Mailing list pgsql-admin

From darthxiong@libero.it
Subject table name as parameter in pl/psql
Date
Msg-id GO4DDT$IwbN_cz2aIDQkZtyjXg48hRwnNbgm9xc6SbNmYLa0qiE2gZ@libero.it
Whole thread Raw
Responses Re: table name as parameter in pl/psql  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-admin
hi all, i'm trying to do something like this:

CREATE FUNCTION read_table(text) RETURNS int AS '
 DECLARE
         table_name ALIAS FOR $1;
          res
  INTERGER;
 BEGIN
          SELECT INTO res COUNT(id) FROM table_name;
          RETURN res;
 END;
 ' LANGUAGE 'plpgsql';

using psql the creation return no errors, but the statement
 SELECT read_table( 'books' ) AS how_many;
 resuts in
 ERROR: parser: parse error at or near "$1"

and the same using
SELECT INTO res COUNT(id) FROM $1;
 instead of
SELECT INTO res COUNT(id) FROM table_name;
 while
SELECT INTO res COUNT(id) FROM books ( the real name of the table )
 works good

there is a way to use a table name as parameter? where am i wrong?
 thx
Ivan


pgsql-admin by date:

Previous
From: Phill Kenoyer
Date:
Subject: Re: Primary Key Problems
Next
From: Ewan Leith
Date:
Subject: Moving a database