Я довольно новичок в oracledb с NodeJS. Я хочу сделать несколько вызовов sql, которые зависят. После первого запроса sql мне нужно использовать результат для выполнения второго SQL-запроса, а результат второго запроса используется для третьего.oracledb chaining sql call с использованием обещаний
Я пытаюсь найти несколько примеров, но не нашел их.
EDIT 1: добавить код, используемый для цепочки запросов sql. перед выполнением запроса sqltoExecute, мне нужно настроить соединение, выполнив запрос, который устанавливает «заданную роль», а затем еще один, чтобы «установить пакет» перед выполнением моего окончательного запроса.
Он выполняет только первый запрос, задающий роль, а затем ничего.
Я использую на NodeJS 4.4.7 на Ubuntu 14.
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
});
}
};
Вы можете включить код, который вы пробовали? В какой среде вы пытаетесь связать эти запросы sql? – FishStix
Общие вопросы node-oracledb можно задать по адресу https://github.com/oracle/node-oracledb/issues –
@FishStix. Я добавил код, который я использую для проверки цепочки. – inttyl