请假设:
用户A创建全局临时表gtt。
用户A创建sp具有定义者权限的存储过程AUTHID DEFINER。为简单起见,假设这sp只是在 中插入一行gtt并从行中选择一个值gtt。
用户A授予用户B execute.sp
需要向用户提供哪些额外的授权(如果有的话)A才能B成功B执行sp?
我听说当使用全局临时表(例如插入数据)时,使用全局临时表的用户需要create table特权才能在其会话内存中创建全局临时表的实例(即使全局临时表本身是已经创建)。真的吗?我假设在全局临时表上授予 select 和 insert 就足够了。
因为sp是由A这意味着A需要定义的create any table,所以行数据可以从用户B的会话内存中插入和选择吗?
抱歉,我目前无权访问我有足够权限自己尝试的 Oracle 实例。
请注意,我不是要在存储过程中创建全局临时表。
使用 Oracle 19c 企业版。
预先感谢您帮助我了解此处涉及的特权。