gpt4 book ai didi

c# - 如何在 SQL Server 或 ASP.NET C# 中强制执行一定数量或范围的受影响行

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

对于某些 SQL 查询,我知道必须受 UPDATE、DELETE 或 INSERT 语句影响的预期行数。它可以是一个数字,例如 1,也可以是一个范围,例如 0-1 或 1-2 等。

什么是最好的方式来强制这是受影响的行数,否则会抛出异常?

此外,我能否将受 UPDATE/DELETE/INSERT 影响的行数限制为 1 行,否则会出现异常?

谢谢

最佳答案

您可以在插入、更新和删除中使用 TOP 来强制执行受影响的行数。这不会引发异常。

declare @T table (id int)

insert top(1) into @T values
(1),
(2),
(3)

如果你想要异常(exception),你可以在交易中使用@@ROWCOUNT

declare @Min int = 2
declare @Max int = 3

begin transaction

insert into Table1 values
(1),
(2),
(3),
(4)

if not @@rowcount between @Min and @Max
begin
rollback
-- Throw exception here, RAISERROR()
end
else
begin
commit
end

关于c# - 如何在 SQL Server 或 ASP.NET C# 中强制执行一定数量或范围的受影响行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027527/

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