我正在使用Google Apps脚本连接到我的MySql数据库并运行查询。我使用的是一个“标准”的var conn = Jdbc.getCloudSqlConnection (dbUrl, user, userPwd)
和stmt.executeQuery(QUERY)
。这一切都很好用。我现在需要运行多个查询,比如SET @DateFrom='2020-12-01'; SET @DateTo='2020-12-31'; SELECT * FROM database WHERE MyDate BETWEEN @DateFrom AND @DatoTo
。但这在GAS中失败了,而且我还没有找到运行多个查询的方法。这有可能吗?谢谢!
发布于 2021-01-05 07:28:41
通过一些试验和错误,我知道了如何做到这一点。您需要执行多个stmt.executeQuery(QUERY)
-每个查询一个(显然)。
我首先创建了一个函数来清理字符串并将其拆分成一个数组:
function oTrimAndSplit(inputString, delimiter) {
var trimmed = inputString.trim();
var length = trimmed.length;
if (trimmed.slice(-1) == ";") trimmed = trimmed.slice(0, -1);
var arr = trimmed.split(delimiter);
return arr;
}
然后把这一切都包装起来:
var conn = Jdbc.getCloudSqlConnection (dbUrl, user, userPwd);
var queries = oTrimAndSplit(QUERY, ';');
queries.forEach(function(queriesElement) {
stmt.executeQuery(queriesElement)
});
就是这样!
https://stackoverflow.com/questions/65544675
复制相似问题