Re: Relation missing?
От | A B |
---|---|
Тема | Re: Relation missing? |
Дата | |
Msg-id | dbbf25900805130643q29aaf700jaafc419284d77810@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Relation missing? ("A. Kretschmer" <andreas.kretschmer@schollglas.com>) |
Ответы |
Re: Relation missing?
Re: Relation missing? |
Список | pgsql-novice |
In this function I create no table, I just do insert into various already existing tables. It is not a prepared statement, but a function I created, so I'm not sure if EXECUTE is what I should use. This function has successfully run many times before, over several days. Excuse my ignorance, but what is DDL commands? Is that like creating tables? 2008/5/13 A. Kretschmer <andreas.kretschmer@schollglas.com>: > am Tue, dem 13.05.2008, um 15:08:51 +0200 mailte A B folgendes: > > > > I got an error > > > > SELECT ERecord(100, 3492,'2008-05-13 10:25:57', 1, 0); > > > > gave me (translating into english) > > > > ERROR: relation with OID 31330 doesn't exist > > CONTEXT: SQL-statement: "INSERT INTO eLog (customer,shop,event,time) > > VALUES ( $1 , $2 , $3 , $4 )" > > PL/pgSQL function "erecord" line 5 at SQL statement > > > > ERecord is a function written in PL/pgSQL... so what can this mean? > > Wild gues: within this function you create this table and you don't use > EXECUTE for that. When you start a new session, the first time yout > function works fine, but the second call fails. Right? > > PG caches the plan and the OID's for objects, because this fact it fails > the second time. To prevent this, use EXECUTE for all DDL-commands. > > > Andreas > -- > Andreas Kretschmer > Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) > GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net > > -- > Sent via pgsql-novice mailing list (pgsql-novice@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-novice >
В списке pgsql-novice по дате отправления: