我想仅授予用户编辑表格中的一列的权限。我在这里使用什么命令?我使用的是oracle 11g数据库。我知道如何只在整个表上授予读取或删除权限,但是如何只为一列或更多列执行此操作?举个例子。
答案 0 :(得分:22)
例如,您只想在ename列上授予更新权限,然后给出以下语句(其中xyz是用户名)
grant update (ename) on emp to xyz;
语法:
grant update(column-name) on table-name to user-name
编辑:(用于授予选择权限)
要将emp表上的select语句授予XYZ并使XYZ能够进一步传递此权限,您必须在GRANT语句中给出WITH GRANT OPTION子句,如下所示。
grant select on emp to xyz with grant option;
另外, 例如,您只想在ename列上授予更新权限,并且仅在empno和ename列上插入权限,您可以这样做:
grant update (ename),insert (empno, ename) on emp to xyz;
答案 1 :(得分:5)
基于this source:
只能在列级别授予INSERT
,UPDATE
和REFERENCES
权限。在列级别授予INSERT
时,必须在行中包含所有非空列。
以下是一个例子:
GRANT update (column_name) ON table_name TO user_name;