From: | "Jason S(dot) Friedman" <jason(at)powerpull(dot)net> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: ANY subquery and PreparedStatements |
Date: | 2003-02-19 17:42:23 |
Message-ID: | 20030219174223.GA9036@charles |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
If the "virtually unlimited number of parameters" is itself being generated by a query, perhaps you could use an EXISTS clause:
select * from <table> where EXISTS (
SELECT 1
FROM <othertables>, <table>
WHERE <table.field> ...
)
On Wed, Feb 19, 2003 at 01:57:03PM -0300, Felipe Schnack wrote:
> This is actually a very good solution to the problem... I'm sorry that
> in my case I have a virtually unlimited number of parameters :-(
>
> On Wed, 2003-02-19 at 13:54, Csaba Nagy wrote:
> > Hi Felipe,
> >
> > What we are doing in our code is to prepare a statement with a lot of
> > parameter placeholders, something like:
> >
> > select * from <table> where <field> in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
> >
> > and then set some of the parameters with the available values, and set
> > the rest to nulls. The nulls should be disregarded by the backend
> > anyway... this works well with Oracle, I'm not sure how efficient is
> > with Postgres.
> > The only reason to use this is to have a prepared statement instead of
> > building dynamic queries all the time. You only must make sure the nr.
> > of ? signs is at least as much as many parameters you can have at
> > maximum.
> >
> > HTH,
> > Csaba.
> >
> > On Wed, 2003-02-19 at 13:24, Felipe Schnack wrote:
> > > I'm afraid it kind of impossible to use PreparedStatements with the
> > > "ANY" subquery keyword... For example, if I take this query and prepare
> > > it:
> > > "select * from <table> where <field> any (?)"
> > > How can I set my parameter as a list of values, so my query searches
> > > for for different values of the specified field?
> > >
> > > --
> > >
> > > Felipe Schnack
> > > Analista de Sistemas
> > > felipes(at)ritterdosreis(dot)br
> > > Cel.: (51)91287530
> > > Linux Counter #281893
> > >
> > > Centro Universitário Ritter dos Reis
> > > http://www.ritterdosreis.br
> > > ritter(at)ritterdosreis(dot)br
> > > Fone/Fax.: (51)32303341
> > >
> > >
> > > ---------------------------(end of broadcast)---------------------------
> > > TIP 6: Have you searched our list archives?
> > >
> > > http://archives.postgresql.org
> > >
> >
> >
> --
>
> Felipe Schnack
> Analista de Sistemas
> felipes(at)ritterdosreis(dot)br
> Cel.: (51)91287530
> Linux Counter #281893
>
> Centro Universitário Ritter dos Reis
> http://www.ritterdosreis.br
> ritter(at)ritterdosreis(dot)br
> Fone/Fax.: (51)32303341
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
--
Regards,
Jason S. Friedman
mailto:jason(at)powerpull(dot)net
http://www.powerpull.net
From | Date | Subject | |
---|---|---|---|
Next Message | Felipe Schnack | 2003-02-19 17:48:43 | Re: ANY subquery and PreparedStatements |
Previous Message | Barry Lind | 2003-02-19 17:40:52 | Re: SSL for JDBC |