2012-12-04 1 views
7

단일 트랜잭션에서 여러 명령문을 실행할 수 있습니까? 내가 좋아하는 뭔가를하고 싶지 :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을 실행하거나 단일 트랜잭션에서 여러 명령문을 실행할 수있는 방법이 있습니까?

답변

7

두 번째 코드가 이미 단일 트랜잭션에서 여러 명령문을 실행 중입니다. 콜백을 반환 할 결과가 명확하지 않으므로 첫 번째 코드가 올바르지 않습니다 (지원되지 않음).

지원되는 경우에도 성능은 내부적으로 동일하기 때문에 두 번째 문으로 변환해야합니다.