public inbox for [email protected]  
help / color / mirror / Atom feed
From: Wood, Bruce <[email protected]>
To: PostgreSQL Docs <[email protected]>
Subject: PREPARE statement example error.
Date: Fri, 29 Oct 2004 11:37:21 -0700
Message-ID: <[email protected]> (raw)

There is an error in your example for the prepare statement on page http://developer.postgresql.org/docs/postgres/sql-prepare.html.

Using the example from the link above

rainstorm=> PREPARE fooplan (int, text, bool, numeric(8,2)) AS
rainstorm->     INSERT INTO foo VALUES($1, '$2', '$3', '$4');
ERROR:  invalid input syntax for type boolean: "$3"

Taking out the single quotes around the boolean parameter 3 yields

rainstorm=> PREPARE fooplan (int, text, bool, numeric(8,2)) AS
rainstorm->     INSERT INTO foo VALUES($1, '$2', $3, '$4');
ERROR:  invalid input syntax for type real: "$4"

So take out the single quotes around the numeric parameter 4 yields

rainstorm=> PREPARE fooplan (int, text, bool, numeric(8,2)) AS
rainstorm->     INSERT INTO foo VALUES($1, '$2', $3, $4);
PREPARE
rainstorm=> EXECUTE fooplan(1, 'Hunter Valley', 't', '200.00');
INSERT 0 1

So that "works", but what it does is

rainstorm=> select * from foo;
 key | address | valid | cost
-----+---------+-------+------
   1 | $2      | t     |  200
(1 row)

It inserts the literal string of parameter two rather than the value provided for parameter 2.  This is in the PostgreSQL 8 beta 4 Windows native version.

Bruce Wood			Reception (301) 373-2360  
Northrop Grumman PRB Systems	Voice Mail (301) 373-2388 ext 2151
43865 Airport View Drive		Fax           (301) 373-2398
Hollywood, MD 20636		Email         [email protected]






view thread (2+ messages)  latest in thread

reply

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: [email protected]
  Cc: [email protected]
  Subject: Re: PREPARE statement example error.
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox