簡體   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