请假设:
用户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 企业版。
预先感谢您帮助我了解此处涉及的特权。