On 26 Aug 2013, at 16:14, luis montes wrote:

> It seems to me that I should be able to
> do something like this from the command line:
> 
> cat file.xml|sqlite3 database.db 'update table1 set column3=? where
> column1="some name";'
> 
> That's it, I'm trying to update column 3 on a particular record with a
> string that is already stored on a file.

        You don't make it clear what you expect from such a command.

        Does the file which is named in the 'cat' command contain a series
        of data values, one per line?

        If not, does it perhaps contain some (hopefully well-formed) XML
        date?

        In either case, you seem to be hoping that the SQL command given
        as an argument to the SQLite shell ('sqlite3') should somehow
        be applied to each data value arriving via the shell ('bash')
        pipe, as each value is somehow bound to the '?' in the SQL
        command.  This isn't a realistic hope.

        If I was trying something like that, and if the data file contained
        XML, I might use xsltproc to generate a safe series of UPDATE
        commands and feed them to sqlite3.

        Otherwise, I might use a Perl script based on the DBI module
        (see, for example and without endorsement, 
        http://zetcode.com/db/sqliteperltutorial/).

        I hope this helps

        Niall O'Reilly

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to