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