table name as parameter in pl/psql

Поиск
Список
Период
Сортировка
От darthxiong@libero.it
Тема table name as parameter in pl/psql
Дата
Msg-id GO4DDT$IwbN_cz2aIDQkZtyjXg48hRwnNbgm9xc6SbNmYLa0qiE2gZ@libero.it
обсуждение исходный текст
Ответы Re: table name as parameter in pl/psql
Список 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 по дате отправления:

Предыдущее
От: Phill Kenoyer
Дата:
Сообщение: Re: Primary Key Problems
Следующее
От: Ewan Leith
Дата:
Сообщение: Moving a database