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

lwannl 2015-12-10 09:15:57
如题,一个表里面有N行数据,禁止修改该表中的一行数据,其他行可任意修改。
注意是行,不是列。
...全文
112 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2015-12-10
  • 打赏
  • 举报
回复
引用 楼主 lwannl 的回复:
如题,一个表里面有N行数据,禁止修改该表中的一行数据,其他行可任意修改。 注意是行,不是列。
只是某一行数据,这属于硬代码,可通过存储过程控制,在语句中判断修改逻辑
LongRui888 2015-12-10
  • 打赏
  • 举报
回复
这个也只能用触发器来实现,你要修改那么可以做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
很棒的触发器

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧