mssql sqlserver 禁止删除”表中指定行数据”的方法分享


摘要:
下文讲述一种”不采用触发器”限制特定数据删除的方法分享,如下所示:
实验环境:sql server 2008 R2


实现思路:
采用视图将不删除的数据过滤掉
当我们对表进行数据删除时,采用删除视图的方式,如下

    create table maomao(keyId int)
    ---插入数据
     insert into maomao(keyId)values
     (0),(1),(2),(3),(4),(5),(6)
    ---限定keyId等于0的数据禁止删除
    create view vw_maomao 
    as 
    select * from maomao where keyId !=0 
    ---删除数据      
    delete from vw_maomao
     go
    select * from maomao   ---我们会发现keyId 等于0的数据还存在于数据表中
     go
    truncate table maomao
    drop       table maomao