繁体   English   中英

具有节点 mssql 对象的存储过程的受影响行

[英]Affected rows for stored procedure with node mssql object

我似乎无法让这个工作。 我在 Azure SQL 中有一个更新过程。

CREATE PROCEDURE foobar
    @a int
AS
        update foo set bar=@a;
RETURN 0

我正在返回@@rowcount 并尝试使用它,但这意味着客户端有两个结果集和草率的代码。 客户端是一个 node.js Azure 自定义 API。

exports.post = function(request, response) {
    var mssql = request.service.mssql;
    var sqlParams = [request.body.a];

    var sql = "foobar ?";

    mssql.query(sql, sqlParams, {
        success: function(results) {
                response.send(statusCodes.OK, results); //return affected rows
        }
    })
};

我试过使用 results.affectedRows。 我尝试在函数中使用附加参数来获取返回值。 我直接查询了数据库并收到“1 Records Affected”作为响应。 即使当我返回@@rowcount 时,我也遇到了在 javascript 中指定它的问题。 就像我返回结果一样: [{"affected":1}]并尝试使用results[0].affected/results[0]["affected"]和其他各种排列来访问它。 我尝试了 JSON.parse(results) 并尝试访问它的属性,但仍然没有成功。 每次我只是盲目地尝试不同的事情时,Azure 门户都需要很长时间才能更新。

斯蒂芬

当然,毕竟我找到了正确的文档,建议使用 queryRaw 而不是查询,你不知道它返回一个 RowCount。

斯蒂芬

也许这是自 2015 年以来的更新,但答案就在这里

另外,好像affectedRows是的MySQL,MSSQL时使用rowsAffected 不需要queryRaw

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM