gpt4 book ai didi

javascript - Node mssql更新查询,获取行数

转载 作者:行者123 更新时间:2023-11-30 06:25:26 26 4
gpt4 key购买 nike

我正在使用 NodeJS 包 MSSQL ( https://npmjs.org/package/mssql#cfg-node-tds ) 连接到 MS SQL 数据库并执行更新查询。

我知道如果更新查询最终影响任何行,它仍将作为成功事件返回。如果零行受到影响,我想以不同方式处理成功事件,因为这不是查询的预期结果。

经过一些研究,我发现在执行 SQL 查询时,您可以使用@@ROWCOUNT 来获取受影响的行数,但我还没有弄清楚如何将它与 MSSQL Node 包一起使用。

有没有人使用过这个 Node 包并按照我尝试的方式处理 UPDATE 查询?

谢谢!

最佳答案

好的,根据您提供的链接, Node 包可以调用存储过程。

在 JS 端或 TSQL 端创建逻辑。

由于我是一名 DBA/开发人员,所以让我们创建一个 SP 来执行更新并返回受影响的行数。

我正在使用 Adventure Works 示例数据库。

-- use sample db
use AdventureWorks2012;
go

-- sample select
select *
from [Person].[Person]
where lastname = 'Walters';
go

-- stored procedure
create procedure usp_Update_First_Name (@id int, @first varchar(50))
as
begin
update [Person].[Person]
set [FirstName] = @first
where [BusinessEntityID] = @id;
return(@@rowcount);
end
go

-- make a call
declare @ret int;
exec @ret = usp_Update_First_Name @id = 4, @first = 'Robert';
print @ret;

此调用返回以下输出。

(1 行受影响)1

在 JS 代码中,如果 @ret = 0 则执行操作 A,如果 @ret > 0 则执行操作 B。

关于javascript - Node mssql更新查询,获取行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21484469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com