From: Michael Fuhr <mike@fuhr.org>
To: Emil Rachovsky <zsevgymko@yahoo.com>
Cc: pgsql-general@postgresql.org <pgsql-general@postgresql.org>
Cc: pgsql-sql@postgresql.org <pgsql-sql@postgresql.org>
Subject: Re: Syntax error in Execute statement
Date: Mon, 6 Mar 2006 11:30:42 -0700
Message-ID: <20060306183042.GA14001@winnie.fuhr.org> (raw)
In-Reply-To: <20060306152158.81224.qmail@web54312.mail.yahoo.com>
References: <20060306152158.81224.qmail@web54312.mail.yahoo.com>
On Mon, Mar 06, 2006 at 07:21:58AM -0800, Emil Rachovsky wrote:
> I created a function "coalescec" which behaves the
> same as coalesce, but uses an integer and a string.
Is there a reason you can't use the standard COALESCE and cast the
integer value to text/varchar?
> Now I'm getting an error in the folowing statements :
>
> query := 'select "UID" from S_Users_To_Connection
> where ConnID = ' || coalescec(conn_id,'null');
> execute query into nUID;
>
> ERROR: syntax error at or near "$2" at character 20
> QUERY: SELECT $1 into $2
What version of PostgreSQL are you running? EXECUTE INTO is new
in 8.1; earlier versions would print an error like the above.
> I have put UID in quotes because it seems to be a
> keyword.
How did you determine that? UID isn't shown in the "SQL Key Words"
appendix of the documentation and I don't see it in the backend or
PL/pgSQL grammars. Using it unquoted works here:
test=> CREATE TABLE foo (uid integer);
CREATE TABLE
test=> INSERT INTO foo (uid) VALUES (1);
INSERT 0 1
test=> SELECT uid FROM foo;
uid
-----
1
(1 row)
I'd guess that you created the column with an uppercase quoted
identifier. See the documentation regarding case folding and
quoted identifiers:
http://www.postgresql.org/docs/8.1/interactive/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS
--
Michael Fuhr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: mike@fuhr.org, zsevgymko@yahoo.com, pgsql-general@postgresql.org
Subject: Re: Syntax error in Execute statement
In-Reply-To: <20060306183042.GA14001@winnie.fuhr.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox