数据库、Oracle 和 MySQL 中的定义者和调用者权限是什么?

5 mysql oracle

数据库、Oracle 和 MySQL 中的定义者和调用者权限是什么?我只是不明白。

Wer*_*eit 8

我们举一个简单的例子:

您可以使用“定义者权限”来执行此过程 - 这是 Oracle 中的默认设置。

CREATE PROCEDURE DEL_EMP AS
BEGIN
   DELETE FROM EMP;
END;
Run Code Online (Sandbox Code Playgroud)

调用这个过程的另一个用户只需要这个过程的EXECUTE权限,不需要这个用户有DELETE表 EMP 的权限。

过程在过程所有者(或定义它的用户,因此称为“定义者”权限)的许可下运行。

“Inovker 权利”则相反。谁成功地喜欢运行该程序的用户必须EXECUTE在此过程中的特权 DELETE特权EMP表。

关于定义者和调用者权限还有一些要点,但对于一般理解,这应该足够了。