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