This gets asked once in a while, and the answer is "No." The SQL statements
used in Tcl get compiled, and the compiled statement has to know how many
values are being looked at by IN.

At least up til now. Perhaps having row values will change this. We should
know soon.

Gerry Snyder

On Sun, Sep 25, 2016 at 10:21 AM, Adam Jensen <han...@riseup.net> wrote:

> Would it be very challenging to tweak the SQLite/Tcl code such that
> something like this (below) would work?
>
> -------------------------------------------------------
> #!/usr/bin/env tclsh8.6
>
> package require sqlite3
> sqlite3 db "test.db"
>
> db eval { CREATE TABLE ex_table (
>     ex_id INTEGER NOT NULL,
>     ex_name TEXT NOT NULL,
>         PRIMARY KEY (ex_id) ) }
>
> db eval { INSERT INTO ex_table (ex_id, ex_name)
>     VALUES (1,"alice"),(2,"bob"),(3,"fred"),(4,"jan") }
>
> #####vvvvv THIS CURRENTLY DOES NOT WORK vvvvv#####
>
> set my_id_list [list 1 2 4]
>
> set my_name_list [db eval { SELECT ex_name
>     FROM ex_table WHERE ex_id IN $my_id_list }]
>
> puts $my_name_list
>
> #####^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#####
>
> db close
> file delete "test.db"
> -------------------------------------------------------
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to