2010-05-12 34 views
2

我無法理解如何創建一個SQL命令批處理列表中說,並把它傳遞給SQLite,讓在交易執行的命令。生成SQL事務以Tcl和SQLite的

基本上我現在要做的是:

sqlite3 db1 $dbFile 
db1 eval BEGIN 
foreach Key [array names myArray] { 
    db1 eval {SQL statement involving $Key} 
} 
db1 eval COMMIT 

我在想一個手段,生成SQL插入一個列表,然後將它傳遞給DB1交易DB1 EVAL,但這並不似乎爲我工作。也許我只是做一些stupin語法錯誤。任何人有一個工作的例子嗎?

謝謝!

回答

6

我是對的「愚蠢的錯誤」。

db1 transaction { 
    foreach Key [array names myArray] { 
     db1 eval {SQL statement involving $Key} 
    } 
} 
+0

+1:這是執行處理數組中每個元素的SQL語句的事務的正確方法。 – 2010-05-12 13:14:50