PFC wrote:
>
> >This message appears:
> >
> >ERROR: relation "t_arti" does not exist
> >SQL state: 42P01
> >Context: SQL function "test1"
> >
> >
> >Why it does not work???
> >thanks for your help
>
> Because plpgsql functions are compiled on first execution and all
> queries are then prepared. All tables are referenced directly in prepared
> statements, not by name. Any prepared statement that refers to dropped
> tables (even dropped temp tables) is thus unfit for consumption.
This is correct but it's not the problem at hand -- notice how the
error message is not talking about an unknown OID. I think the problem
here is that he is using SELECT INTO, which is different in PL/pgSQL
than what is in plain SQL. I bet using CREATE TABLE AS instead of
SELECT INTO would work.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.