Hi mweiguo,
> hi all:
> i am writing a tcl script, it will create a empty database and read a
> schema file into database ...
> in command line, it works when i use
>   
>>> .read schema.sql
>>>       
> but in tcl script enviroment, how can i do that ?
>   
This script reads the *.sql file as a transaction and executes it in 
Tcl. It reliably works and has been tested with a > 500 line .sql 
transaction.

proc tssScript { } {
         variable tssfile ; # database defined schema in sql file
                 
        set fid [open $tssfile]
         set tsscontent [read $fid]
        close $fid
       
        # Open process db1 connection
        sqlite3 db1 $dbfile
       
        # Read the SQLExe file contents to exec the SQL in the file. 
Write the SQL statements to the file delimited by semicolon
        sqlite3 db $dbfile
            db1 eval [subst {$tsscontent}] {
            }
            # test reading the file   
            set tempq [db1 eval {SELECT * FROM SearchIndex_temp;}]
                puts "tempq $tempq"
               
           db1 eval {INSERT INTO TABLE (VALUES);}
            db1 eval {INSERT INTO TABLE (VALUES_2);}   
              
            set tempq1 [db1 eval {SELECT * FROM TABLE;}]
                puts "tempq1 $tempq"
           
            db1 close
}

A Tcl equivalent to .read schema.sql.

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

Reply via email to