我只想授予用户编辑表中的一列。我在这里使用什么命令?我使用oracle 11g 数据库。我已经知道如何仅授予对整个表的读取或删除权限,但是如何仅对一列或更多列执行此操作?请举个例子。
问问题
47369 次
2 回答
37
例如,您只想授予对 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;
于 2013-01-22T16:29:12.810 回答
6
基于此来源:
只能在列级别授予INSERT
、UPDATE
和权限。REFERENCES
在列级别授予INSERT
时,您必须在行中包含所有非空列。
这是一个例子:
GRANT update (column_name) ON table_name TO user_name;
于 2013-01-22T16:27:39.080 回答