我只想授予用户编辑表中的一列的权限.我在这里应该使用什么命令?我使用oracle 11g数据库.我已经知道如何对整个表只授予READ或DELETE权限,但是如何只对一列或多列授予READ或DELETE权限呢?请举个例子.

推荐答案

例如,您希望仅授予对ename列的更新权限,然后给出以下语句(其中xyz是用户名)

grant update (ename) on emp to xyz;

语法:

grant update(column-name) on table-name to user-name

EDIT:(用于授予 Select 权限)

要将emp表上的SELECT语句授予XYZ并使XYZ能够进一步传递此权限,您必须在GRANT语句中授予WITH GRANT OPTION子句,如下所示.

grant select on emp to xyz with grant option;

另外, 例如,要仅授予对ename列的UPDATE权限和仅授予对empno和ename列的INSERT权限,可以执行以下操作:

grant update (ename),insert (empno, ename)  on emp to xyz;

Database相关问答推荐

如何自动更新不同的数据库?

在 ScyllaDB 中查询 100 亿行(高基数)的效率

SQL 查询至少其中一项

预测下一个自动插入的行 ID (SQLite)

MongoDB 单文档大小限制为 16MB

无法使用命令行运行 liquibase

苹果 ios 购买收据数据的可能最大长度是多少?

SQLite 中内存数据库的优势

两个不同数据库中的两个表之间的连接有什么问题?

与号 (&) 处的 XML 错误

如何处理 SQL Server 中列名中的空格?

将所有数据库列设置为 NOT NULL 是一种好习惯吗?

如何在 Rails 中不启动事务的情况下运行迁移?

如何取消长时间运行的数据库操作?

获取数据库路径

游戏中使用什么样的数据库?

将一行连接到另一个表中的多行

Rails:'schema.rb' 中的版本号是否用于任何用途?

试图在我的环境中设置 Postgres,但似乎无法获得 intidb 的权限

归一化 - 2NF 与 3NF