mssql sqlserver 禁止删除数据表中指定行数据


摘要:
下文主要讲述,如何禁止删除数据表中指定行数据



最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1、2、3、4、5的系统默认数据,通过项目组同事仔细研究,我们得到一致的答案为:
在表上新增一个触发器,当删除数据ID为 1 2 3 4 5时候,直接弹出相应的错误,采用这种模式,可以限制所有端口的异常操作(程序 查询分析器),
具体实现方式,如下文所示:


create trigger trTriggerA
on A
for delete
as
set nocount on
if exists (select 1 from deleted where id in (1,2,3,4,5) )
begin
RAISERROR ('禁止删除系统记录 1 2 3 4 5 ', 16, 1)
ROLLBACK TRANSACTION
end