2012-12-04 12 views
7

1つのトランザクションで複数のステートメントを実行する方法はありますか?私のような何かをしたい: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つのトランザクションで複数の文を実行する方法がありますか?

答えて

7

2番目のコードは、すでに1つのトランザクションで複数のステートメントを実行しています。コールバックを返す結果が明確でないため、最初のコードは正しくありません(サポートされていません)。

サポートされていても、内部的には2番目のステートメントに変換する必要があるため、パフォーマンスは同じです。

関連する問題