求教如何禁止修改一张表的一行数据

lwannl 2015-12-10 09:15:57
如题,一个表里面有N行数据,禁止修改该表中的一行数据,其他行可任意修改。
注意是行,不是列。
...全文
46 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
中国风 2015-12-10
引用 楼主 lwannl 的回复:
如题,一个表里面有N行数据,禁止修改该表中的一行数据,其他行可任意修改。 注意是行,不是列。
只是某一行数据,这属于硬代码,可通过存储过程控制,在语句中判断修改逻辑
回复
这个也只能用触发器来实现,你要修改那么可以做update触发器,当修改数据的时候,查询一下是不是特定行数据,如果是就rollback,如果不是,就继续修改。
回复
中国风 2015-12-10
用数据库用户权限控制 针对用户只授查询权限就行了
回复
等不到来世 2015-12-10

--例如:不允许删除tb表中id=8的数据.
create trigger tri_tb on tb for update
as
if exists(select 1 from deleted where id=8)
	rollback
go
回复
zbdzjx 2015-12-10
触发器!
回复
lwannl 2015-12-10
引用 2 楼 szx1999 的回复:

--例如:不允许删除tb表中id=8的数据.
create trigger tri_tb on tb for update
as
if exists(select 1 from deleted where id=8)
	rollback
go
很棒的触发器
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-12-10 09:15
社区公告
暂无公告