如何在Web SQL中执行多个语句?

时间:2012-12-04 21:52:46

标签: web-sql

有没有办法在单个事务中执行多个语句?我想做点什么:

db.transaction(function (tx) {
    tx.executeSql(
        "CREATE TABLE Foo(ID INTEGER); CREATE TABLE Bar(ID INTEGER)",
        function (tx, result) {
            alert("success!");
        });
    });

但相反,我发现我必须做这样的事情:

db.transaction(function (tx) {
    tx.executeSql("CREATE TABLE Foo(ID INTEGER)");
    tx.executeSql("CREATE TABLE Bar(ID INTEGER)",
        function (tx, result) {
            alert("success!");
        });
    });

我是否仅限于在自己的事务中执行单个语句,然后在最后一个事务中触发successFn,或者我是否可以在单个事务中执行多个语句?

1 个答案:

答案 0 :(得分:7)

您的第二个代码已在单个事务中执行多个语句。第一个代码不正确(不支持),因为不清楚返回回调的结果。

即使支持,性能也是相同的,因为在内部,它必须转换为第二个语句。