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

From: "Franz Stuetzle" <franz(dot)stuetzle(at)gmx(dot)net>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Postgre: 8.0.1 Create Table insde a function gives strange error at execution time
Date: 2005-03-27 12:17:38
Message-ID: 20050327121735.AFA9853A9E@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Enrico Weigelt 2005-03-27 15:41:02 detaching triggers
Previous Message Michael Fuhr 2005-03-27 08:22:09 Re: Is there a way to find a schema name