Problem writing function

From: "Christian Rengstl" <Christian(dot)Rengstl(at)klinik(dot)uni-regensburg(dot)de>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Problem writing function
Date: 2006-08-06 09:47:43
Message-ID: 44D5D6FB02000080000413DC@rrzgw1.uni-regensburg.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi list,

the following function is created properly:
CREATE OR REPLACE FUNCTION insert_into_table_overview(text, chr integer)
RETURNS void AS '
DECLARE
in_table ALIAS FOR $1;
p RECORD;
BEGIN
RAISE NOTICE ''in_table = %'', in_table;
FOR p IN EXECUTE ''select distinct pid from '' ||
quote_ident(in_table) LOOP
EXECUTE ''insert into table_overview(table_name, chr,
start_no, end_no, pid)
select '' || quote_ident(tname) || '', chr,
min(entry_no), max(entry_no), p from '' || quote_ident(in_table);
END LOOP;
END;
' LANGUAGE plpgsql;

But when i execute it with select
insert_into_table_overview('test1'::text, 1); i only get the following
output:
NOTICE: in_table = test1

ERROR: relation "test1" does not exist
CONTEXT: SQL statement "select distinct pid from "test1""
PL/pgSQL function "insert_into_table_overview" line 6 at for over
execute statement

I am sure that there is something wrong with the quotes, but i just
can't find out what.

Chris

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Roman Neuhauser 2006-08-06 10:16:44 Re:
Previous Message Marco Bizzarri 2006-08-06 09:33:16 Re: Consulta