CiscoTool_v1/netmiko_Api/utils/concatSQL.js

49 lines
1.5 KiB
JavaScript

/**
* Ham noi chuoi giup goi thu tuc MySQL
* @param {Object} procName Ten thu tuc can goi (String)
* @param {Object} bindVars Cac bien truyen vao (Array hoac null)
* @returns {String} Chuoi SQL
*/
function execProc(procName, bindVars) {
let varsName;
let sql;
if (bindVars != null) {
varsName = Object.values(bindVars);
sql = "CALL " + procName + "(";
for (let i = 0; i < varsName.length; i++) {
if (i !== varsName.length - 1) {
if (typeof varsName[i] === "string") {
// let a = varsName[i].split("'").length - 1;
// if (a > 0 && a % 2 === 0) {
sql += "'" + varsName[i].replace(/\'/g, '~"~') + "',";
// } else {
// varsName[i] = varsName[i].replace("'", '"');
// sql += "'" + varsName[i] + "',";
// }
} else {
sql += "" + varsName[i] + ",";
}
} else {
if (typeof varsName[i] === "string") {
// let a = varsName[i].split("'").length - 1;
// if (a > 0 && a % 2 === 0) {
sql += "'" + varsName[i].replace(/\'/g, '~"~') + "'";
// } else {
// varsName[i] = varsName[i].replace("'", '"');
// sql += "'" + varsName[i] + "'";
// }
} else {
sql += "" + varsName[i] + "";
}
}
}
sql += ")";
} else sql = "CALL " + procName + "()";
// console.log(sql);
return sql;
}
module.exports.execProc = execProc;