Title: Postgre: 8.0.1 Create Table insde a function gives strange error at execution time

Code within a function is like this:

         SELECT 1               

         INTO   x

         FROM   pg_tables

         where tablename = 'globals_pac_adressarten'

         and   tableowner = user;

         IF (NOT FOUND) THEN

            CREATE TEMPORARY TABLE globals_pac_adressarten

               (INT_ALIAS_NAME VARCHAR(12) NOT NULL

               ,KOMMUNIKATION  SMALLINT NOT NULL

               ,POSTALISCH     SMALLINT NOT NULL

               )

               WITHOUT OIDS

               ON COMMIT PRESERVE ROWS;

         END IF;

When executing following errors are reported:

ERROR:  syntax error at or near "$1" bei Zeichen 87

ANFRAGE:  CREATE TEMPORARY TABLE globals_pac_adressarten (INT_ALIAS_NAME VARCHAR(12) NOT NULL , $1  SMALLINT NOT NULL ,

$2  SMALLINT NOT NULL ) WITHOUT OIDS ON COMMIT PRESERVE ROWS

KONTEXT:  PL/pgSQL function "padr_insert_address" line 142 at SQL statement

SQL statement "SELECT  padr_insert_address('pCursor','1','1','xxx','0')"

PL/pgSQL function "test" line 6 at select into variables

ZEILE 1: ...dressarten (INT_ALIAS_NAME VARCHAR(12) NOT NULL , $1  SMALLI...

Would anybody know where those $1 and $2 come from?

If I run the "CREATE" under psql it's working OK;

Help appreciated……

                                                             

Franz Stuetzle

Schertlinstr. 11-144

D-86159 Augsburg

Reply via email to