Re: ANY subquery and PreparedStatements - Mailing list pgsql-jdbc

From Jason S. Friedman
Subject Re: ANY subquery and PreparedStatements
Date
Msg-id 20030219174223.GA9036@charles
Whole thread Raw
In response to Re: ANY subquery and PreparedStatements  (Felipe Schnack <felipes@ritterdosreis.br>)
Responses Re: ANY subquery and PreparedStatements  (Felipe Schnack <felipes@ritterdosreis.br>)
List 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@ritterdosreis.br
> > > Cel.: (51)91287530
> > > Linux Counter #281893
> > >
> > > Centro Universitário Ritter dos Reis
> > > http://www.ritterdosreis.br
> > > ritter@ritterdosreis.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@ritterdosreis.br
> Cel.: (51)91287530
> Linux Counter #281893
>
> Centro Universitário Ritter dos Reis
> http://www.ritterdosreis.br
> ritter@ritterdosreis.br
> Fone/Fax.: (51)32303341
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly

--

Regards,

Jason S. Friedman
mailto:jason@powerpull.net
http://www.powerpull.net


pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: SSL for JDBC
Next
From: Felipe Schnack
Date:
Subject: Re: ANY subquery and PreparedStatements