Oracle中ADMIN选项和GRANT选项有什么区别

Pau*_*thy 5 oracle

我正在研究 Oracle 的 SQL 语法,并且遇到了 ADMIN 选项和 GRANT 选项,用于使用户能够授予权限。例如,如果我想向 HR 的 EMPLOYEES 表上的用户 SCOTT 授予 SELECT 权限,并授予其他人授予该访问权限的能力,我可能会这样做

GRANT SELECT ON HR.EMPLOYEES TO SCOTT WITH ADMIN OPTION
Run Code Online (Sandbox Code Playgroud)

或者

GRANT SELECT ON HR.EMPLOYEES TO SCOTT WITH GRANT OPTION.
Run Code Online (Sandbox Code Playgroud)

看来两者都应该有效。有人知道有什么区别吗?

zee*_*zee 6

这个

\n\n

\xe2\x80\x9cwith grant\xe2\x80\x9d 和 \xe2\x80\x9cwith admin\xe2\x80\x9d 选项都用于放弃中央安全控制,但它们用于不同类型的权限。

\n\n

使用授予选项:

\n\n
    \n
  • 仅适用于对象权限,不适用于系统权限。

  • \n
  • 只有授予特权的人才能撤销该特权。

  • \n
  • 撤销的权限可以“级联”,允许第一个授予者撤销许多
    \n后续的授予。

  • \n
\n\n

使用管理员选项:

\n\n
    \n
  • 仅适用于系统权限,不适用于对象权限。
  • \n
\n