有没有办法保护所有现有行不被编辑在SQL表中?

8pr*_*ons 0 c# sql database readonly

假设开发人员有一个他们不想编辑的记录表,因为这些值是敏感的,并且是根据当时的环境生成的.出于完整性目的,可以添加表中的记录,从不编辑.

在模型中,程序员设置了访问修饰符,使得​​只有构造函数可以设置属性,但是一旦设置它们,就不能修改它们(禁止反射).

如何将这个相同的概念灌输到表中的行中?

Kou*_*lik 7

可以通过撤消数据库用户对UPDATE和DELETE的权限来保护表.然后,在每个用户级别上实现该解决方案.

所有主要数据库系统都存在类似的概念.有关权限的更多信息(Oracle):https://www.techonthenet.com/oracle/grant_revoke.php

您还可以在UPDATE/DELETE之前使用触发器来引发错误,这也会阻止对尚未撤消权限的用户进行更改.有关触发器的更多信息(Oracle):https://www.techonthenet.com/oracle/triggers/before_update.php