oracle多用户功能

Ale*_*pus 1 database oracle function

如何创建可以从不同用户使用的功能?它必须像内置的oracle函数一样工作,可以从任何用户调用.我想这可以通过授予一些特权来实现..?

DCo*_*kie 5

这应该针对特定用户:

GRANT EXECUTE ON your_function TO some_user;
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式允许访问所有用户:

GRANT EXECUTE ON your_function TO PUBLIC;
Run Code Online (Sandbox Code Playgroud)

要从其他用户帐户引用此功能,请执行以下操作:

SELECT owner.your_function FROM dual;
Run Code Online (Sandbox Code Playgroud)

如果要避免在函数引用中指定拥有模式,请为其创建公共同义词:

CREATE PUBLIC SYNONYM your_function FOR owner.your_function;
Run Code Online (Sandbox Code Playgroud)

然后任何人都可以这样引用这个功能:

SELECT your_function FROM dual;
Run Code Online (Sandbox Code Playgroud)