我想授予一个用户只能编辑我的表中的一列,应该使用什么命令?我使用的是Oracle 11g数据库。我已经知道如何仅授予整个表的读取或删除权限,但如何针对单个列或多个列执行操作?请提供一个示例。
grant update (ename) on emp to xyz;
语法:
grant update(column-name) on table-name to user-name
编辑: (授予select权限)
要将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;
根据这个来源:
只能在列级别授予INSERT
、UPDATE
和REFERENCES
权限。当在列级别授予INSERT
权限时,必须包括行中所有非空列。
以下是一个例子:
GRANT update (column_name) ON table_name TO user_name;