如何在 Google App Script 中使用参数调用 MySQL 存储过程?

Posted

技术标签:

【中文标题】如何在 Google App Script 中使用参数调用 MySQL 存储过程?【英文标题】:How to call MySQL stored procedure with parameter in Google App Script? 【发布时间】:2019-12-28 13:24:54 【问题描述】:

我正在尝试使用参数调用 mysql 存储过程并将获取的数据存储到结果集中。

    如何使用参数调用存储过程 如何获取结果并存储在结果集中

我正在使用外部数据库 MySQL,服务器:MariaDB。

var currentUser = Session.getActiveUser().getEmail();
  
  var conn = Jdbc.getConnection('<connection string>');
  
  var stmt = conn.createStatement();
    
  var callstoredprocedure = "SET @p0='"+currentUser+"'; CALL DCCwebApp_getAllApprovedDocument (@p0);";
  var mysqlquery = conn.prepareStatement(callstoredprocedure);
  
  
  var resultSet = mysqlquery.executeUpdate();
  var row = 1; 
  while (resultSet.next()) 
    for (var col = 0; col < resultSet.getMetaData().getColumnCount(); col++)  
      Logger.log(resultSet.getString(col + 1));
    
    row++;
  
  stmt.close();
  conn.close();

在我使用参数调用存储过程后,我期待一个结果集。

【问题讨论】:

【参考方案1】:
var currentUser = Session.getActiveUser().getEmail();

  var conn = Jdbc.getConnection('<connection string>');

  var stmt = conn.createStatement();

  var callstoredprocedure = "call DCCwebApp_getAllApprovedDocument(?)";
  var mysqlquery = conn.prepareStatement(callstoredprocedure);

  mysqlquery.setString(1, currentUser);

  var resultSet = mysqlquery.executeQuery();

【讨论】:

以上是关于如何在 Google App Script 中使用参数调用 MySQL 存储过程?的主要内容,如果未能解决你的问题,请参考以下文章