dynamic table names, determined by calling parameter

Поиск
Список
Период
Сортировка
От Michael Beckstette
Тема dynamic table names, determined by calling parameter
Дата
Msg-id 1020527180743.ZM18265@teak.TechFak.Uni-Bielefeld.DE
обсуждение исходный текст
Список pgsql-sql
Hi,

sorry, when this is a silly question, but i wonder why the following pl/pgsql
functions works:

CREATE FUNCTION test (text) RETURNS TEXT AS '
DECLAREtable_name ALIAS FOR $1;

BEGIN--   test_table is an existing table
CREATE TEMPORARY TABLE temp1 AS SELECT * FROM test_table WHERE (hsp_rank=1 AND
hsp_evalue<=evalue_cutoff);
RETURN table_name;
END;
' LANGUAGE 'plpgsql';



and this one with the table name specified by the calling parameter not:

CREATE FUNCTION test (text) RETURNS TEXT AS '
DECLAREtable_name ALIAS FOR $1;

BEGIN

CREATE TEMPORARY TABLE temp1 AS SELECT * FROM table_name WHERE (hsp_rank=1 AND
hsp_evalue<=evalue_cutoff);
RETURN table_name;
END;
' LANGUAGE 'plpgsql';


Result:
prod2_db=#SELECT test('test_table');
ERROR:  parser: parse error at or near "$1"

Any idea ?

Regards
Michael Beckstette


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

Предыдущее
От: "Sandeep Chibber"
Дата:
Сообщение: Problem with the result set of postgres
Следующее
От: stef@chronozon.artofdns.com (Stef Telford)
Дата:
Сообщение: Triggers and System Tables.