0
我想一些方法來優化下面的SQL語句:如何打破子查詢到2個簡單的查詢
exe_sql "DELETE FROM tblEvent_type WHERE eguid in (SELECT rowid FROM tblEvent_basic WHERE sguid=11);";
exe_sql "DELETE FROM tblEvent_group WHERE eguid in (SELECT rowid FROM tblEvent_basic WHERE sguid=11);";
據說sqlite3的沒有在子查詢中表現良好,並注意上述兩個SQL excuted「(SELECT ROWID FROM tblEvent_basic WHERE sguid = 11)「'兩次,所以我想嘗試的子查詢拆分成類似如下:
result = exe_sql "(SELECT rowid FROM tblEvent_basic WHERE sguid=11);";
exe_sql "DELETE FROM tblEvent_type WHERE eguid in (result)
exe_sql "DELETE FROM tblEvent_group WHERE eguid in (result)
怎樣才能實現這一目標?我不知道如何讓parmater(result)綁定到sqlite中的follwing statment。
"DELETE FROM tblEvent_group WHERE eguid in (?) #how to bind result here
我直接使用sqlite3 C API。
你從什麼環境調用這個?你使用哪種語言和數據庫訪問框架? – 2009-07-09 11:24:46
我在嵌入式系統上使用sqlite3 C API。沒有數據庫訪問框架。 – pierrotlefou 2009-07-09 12:14:19