有没有办法配置 SQL Server 来限制更新语句可以修改的行数?假设我希望将限制设为 30,000 行,并且有人触发了一个将修改 45,000 行的更新,他们会收到错误或其他一些预防性消息。
触发器将是我将如何处理这个。这会减慢所有更新语句的速度,因为 SQL 现在有很多额外的工作要做,但它会处理您的要求。
CREATE TRIGGER Something on dbo.SomeTable
FOR UPDATE
AS
BEGIN
IF (select count(*) from inserted) > 30000
BEGIN
RAISERROR('To many rows being processed at one. Reduce and try again.', 16, 1)
ROLLBACK
END
END
Run Code Online (Sandbox Code Playgroud)
就我个人而言,我不喜欢代替触发器并使用较小的行集重新应用更新的想法,因为这会进入半完成操作的棘手区域,这可能会很快变得非常混乱。
| 归档时间: |
|
| 查看次数: |
6164 次 |
| 最近记录: |