From: | "EXT-Rothermel, Peter M" <Peter(dot)M(dot)Rothermel(at)BOEING(dot)COM> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Using DEFAULT as a parameter value with PQexecPrepare() |
Date: | 2012-04-06 16:22:22 |
Message-ID: | 135FBA69693F3B46A0BE8D4FF49D2D83494A60847D@XCH-NW-01V.nw.nos.boeing.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I simplified my example somewhat. I usually have six of these "optional" parameters.
The number of prepared statements would be too many for this approach.
I will follow your advice in the cases where I just one or two of the "optional" parameters.
Looks like I will need to dynamically build my SQL command as:
INSERT INTO t ( c1, c2, c5, c8, c11 ) VALUES ( $1, $2, $3, $4, $5 );
when the number of "optional" parameters is larger.
I can at least use PQexecParams() to get some SQL injection protection and avoid the escaping and quoting of the parameter values.
Thanks for the advice
-----Original Message-----
From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Greg Sabino Mullane
Sent: Thursday, April 05, 2012 7:18 PM
To: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Using DEFAULT as a parameter value with PQexecPrepare()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
> I was looking for a to use a prepared statement for this operation.
>
> PREPARE myinsert AS "INSERT INTO t ( c1, c2, c3, c4, c5) VALUES ( $1, $2, $3, $4, $5);
>
> Now I want to execute this prepared statement something like:
>
> EXECUTE myinsert ( 'abc', 1, DEFAULT, 9, 3);
>
> Is there any way to specify the column's default value as a parameter value?
You will need to have separate prepared statements. In the case above,
you can use either:
PREPARE myinsert2 AS INSERT INTO t(c1,c2,c3,c4,c5) VALUES ($1,$2,DEFAULT,$3,$4);
or
PREPARE myinsert2 AS INSERT INTO t(c1,c2,c4,c5) VALUES ($1,$2,$3,$4);
- --
Greg Sabino Mullane greg(at)turnstep(dot)com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201204052214
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----
iEYEAREDAAYFAk9+UiQACgkQvJuQZxSWSsikAwCg/f28B4vLzPvurQtf8hmdhqO4
dHgAoIR8nuy89zN3t46FdoQMDm3oWIE3
=wCLM
-----END PGP SIGNATURE-----
From | Date | Subject | |
---|---|---|---|
Next Message | John R Pierce | 2012-04-06 17:40:18 | Re: measure time intervals |
Previous Message | cognizant | 2012-04-06 14:21:12 | Re: EDB - oracle compatibility (Nested Tables) |