1

我有一个 Oracle SQL Developer,我想为指定的表创建和设置多个角色(例如,插入、更新、删除和选择语句),但是当我使用 Grant 或 Revoke 语句来执行这些操作时,如下所示:

GRANT INSERT, UPDATE on Employees to username or rolename
REVOKE INSERT, UPDATE on Employees from username or rolename

结果没有出现,所以我不能在 Oracle 中使用插入、更新、选择语句,我尝试一次又一次地发出这些语句,但它不起作用。

我应该怎么办?

4

3 回答 3

1

为了能够将这些权限授予用户,您必须与具有此权限的用户建立联系。

如果您与这样的用户连接,您可以像这样授予用户权限

GRANT UPDATE ANY TABLE TO "user";

你也可以ADMIN OPTION像这样盛大

GRANT UPDATE ANY TABLE TO "user" WITH ADMIN OPTION;

您还可以将特定角色/用户授予特定表的特权:

GRANT SELECT ON "table_name" TO "user_or_role"; 

以下语句将 emp 表的所有列的 SELECT、INSERT 和 DELETE 对象权限授予用户 jfee 和 tsmith:

GRANT SELECT, INSERT, DELETE ON "table" TO "user1", "user2";

有关管理用户权限,请参阅http://docs.oracle.com/cd/B10500_01/server.920/a96521/privs.htm

于 2012-09-19T09:03:24.327 回答
0

您是否一起发出了 GRANT 和 REVOKE?GRANT 提供,REVOKE 带走,因此将它们一起发布意味着什么都不会做。只需发出 GRANT 语句即可授予访问权限

GRANT INSERT, UPDATE ON schema.table1 TO username;

将允许 USERNAME 在 SCHEMA 的 TABLE1 中插入和更新行。

REVOKE INSERT, UPDATE ON schema.table1 FROM username;

如果您授予它们,将删除允许 USERNAME 在 SCHEMA 中的 TABLE1 中插入和更新行的授予(否则它会告诉您您没有授予它们)。

于 2012-09-19T09:08:04.683 回答
0

你最后没有分号只是一个错字吗?

运行语句时会得到什么输出?

于 2012-09-19T09:04:50.460 回答