MS SQL只读字段

最近开发SQL想控制某些字段,不能手动直接在SQL 编辑更改,因而想到SQL只读字段功能。

就比如实现的用户锁定时间,以及密码过期时间,这两个字段均是由密码参数相关设置而系统变更,为了不想让人为在数据手动更改它们,产生与策略相违的做法,因此Insus.NET特为此表写了一个更新(UPDATE)触发器,实现让SQL的字段有只读功能。如:

tri_Users_Update
CREATE TRIGGER [dbo].[tri_Users_Update] 
ON [dbo].[Users]
FOR UPDATE
AS    
IF UPDATE([LockoutDate])  --用户锁定时间
BEGIN
    RAISERROR(N'禁止更改密码锁定时间,更改操作终止。',16,1)
    ROLLBACK TRANSACTION
END
    
IF UPDATE([PasswordExpirationDate]--密码过期时间
BEGIN
    RAISERROR(N'禁止更改密码过期时间,更改操作终止。',16,1)
    ROLLBACK TRANSACTION
END
原文地址:https://www.cnblogs.com/insus/p/2342430.html