On 3/5/08, Michael Schlenker <[EMAIL PROTECTED]> wrote:
> Hi all,
>
>  i have some queries using IN, e.g.
>
>  SELECT * FROM t WHERE uuid IN (...);
>
>  (uuid is a blob field storing uuids btw.)
>
>  Is there a way to use bind variables for this, e.g. something like this:
>  (python wrapper, this example doesn't work)
>  cursor.execute("SELECT * FROM t WHERE uuid IN (?)",([uuid1,uuid2],))
>
>  Or would i have to create a dynamic query with appropriate number of bind
>  variables myself and have to pay the price of reparsing each time?
>
>  # like this
>  values = [uuid1,uuid2]
>  binders = ",".join("?"*len(values))
>  cursor.execute("SELECT * FROM t WHERE uuid IN (%s)" % binders, values)
>
>  I also had some rather complex piece of SQL from "The Art of SQL", which
>  took a string and dissected it in place with subqueries and a join to a
>  pivot table, but wondered if there was an easier way to do it?
>
..

Using Perl, I usually do

SELECT cols FROM table WHERE col IN (?)

and then

$s = join "," @foo;
$sth->execute($s);

works fine for me.

-- 
Puneet Kishor http://punkish.eidesis.org/
Nelson Institute for Environmental Studies http://www.nelson.wisc.edu/
Open Source Geospatial Foundation (OSGeo) http://www.osgeo.org/
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to