怎样使用SQL语句在定义表时限制一个列值不可以改变?

[复制链接]
查看11 | 回复1 | 2010-3-10 12:59:19 | 显示全部楼层 |阅读模式
改一下“传说中的鹰王” 的回答:只要update 触发器就可以了,更新语句简化一下createTRIGGER udt_aaauON dbo.aaaFOR UPDATE ASUpdate EmplyeeSet salary =Deleted.salary From Emplyee inner Join deleted on deleted on deleted.PKID=Emplyee.PKIDinner Join Inserted on inserted on inserted.PKID=Emplyee.PKIDWhere deleted.salaryinserted.salary参考资料:http://blog.ueren.com

已赞过已踩过<
回复

使用道具 举报

千问 | 2010-3-10 12:59:19 | 显示全部楼层
如果使用者是sa以外的用户(非dbo用户),可以用sa把**用户在职工表的salary列上的update权限收回。如:revoke update on 职工表(salary) from **。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行