2016-08-05 4 views
0

NodeJSでoracledbを使うのはかなり新しいです。 依存しているいくつかのmutiple SQL呼び出しを実行したい。 最初のsqlクエリの後に、結果を使用して2番目のSQLクエリを実行し、2番目のクエリの結果を3番目のクエリに使用する必要があります。約束事を使ってoracledb chaining sqlを呼び出す

私はいくつかの例を見つけようとしていますが、何も見つけられませんでした。

EDIT 1:SQLクエリをチェーンするためのコードを追加します。 クエリsqltoExecuteを実行する前に、最終的なクエリを実行する前に、 "set role"と "set package"のクエリを実行して接続を構成する必要があります。

ロールを設定した最初のクエリのみを実行し、その後は何も実行しません。私はUbuntuの14

にNodeJS 4.4.7
exports.testChainingSqlQueries = function(config, sqlToExecute, callback) { 

    if (config) { 
     oracledb.getConnection(config) 
      .then(function(conn){ 

       return conn.execute(
         sqlQueries.sqlQuerySetRole() 
        ) 
        .then(function(result){ 
         console.log("Execution Succes : "+ sqlQueries.sqlQuerySetRole()); 
         return conn; 
        }) 
        .catch(function(err){ 
         console.log("Error Executing "+ sqlQueries.sqlQuerySetRole()); 
         return conn.close(); 
        }) 
      }) 
      .then(function(conn){ 

       return conn.execute(
         sqlQueries.sqlQuerySetPackage() 
        ) 
        .then(function(result){ 
         console.log("Execution Succes : "+ sqlQueries.sqlQuerySetPackage()); 
         return conn; 
        }) 
        .catch(function(err){ 
         console.log("Error executing : "+ sqlQueries.sqlQuerySetPackage()); 
         return conn.close(); 
        }) 
      }) 
      .then(function(conn){ 
       return conn.execute(
         sqlToExecute 
        ) 
        .then(function(result){ 
         console.log("Execution Succes : "+ sqlToExecute); 
         callback(result, null); 
         return conn.close(); 
        }) 
        .catch(function(err){ 
         console.log("Error executing : "+ sqlToExecute); 
         return conn.close(); 
        }) 
      }); 

    } else { 
     callback(null, { 
      message: "Configuration is invalid ", 
      config: config 
     }); 
    } 
}; 
+0

あなたがしようとしているコードが含まれることができますか?どのような環境でこれらのSQLクエリをチェーンしようとしていますか? – FishStix

+0

一般的なノードoracleledbの質問はhttps://github.com/oracle/node-oracledb/issuesで尋ねることができます –

+0

@FishStix私はチェーンをテストするために使用するコードを追加しました。 – inttyl

答えて

関連する問題