如何保护表中的1列不被更新/删除?

时间:2014-11-04 13:38:40

标签: sql database oracle

如何保护表格中的1列不受更新/删除

的影响

用户可以访问数据库,但需要保护特定表的1列不被更新。

在这种情况下,触发器会不会只提供只读访问权限?

1 个答案:

答案 0 :(得分:4)

您无法撤消单个列的更新权限,但您可以定义可以更新的列:

假设您的表格有三列:column_1, column_2, column_3,并且您希望禁止some_user更新column_3,则可以执行以下操作:

grant select,insert on some_table to some_user;
grant update (column_1, column_2) on some_table to some_user;

用户可以查看所有数据,插入新行(包括column_3的数据),但some_user永远不会更改column_3中的任何内容。