PLSQL:创建临时文件的权限table

PLSQL : What privilege to create temporary table

我想根据用户 A 在程序包中的过程中创建临时 table。

我这样写:

EXECUTE IMMEDIATE '
  CREATE GLOBAL TEMPORARY TABLE T (....)';

我有一条错误消息:

ORA-01031 : Insufficient privilege 

选择 user_role_privs 我可以看到用户 A 具有以下角色:

CONNECT
DBA
RESOURCE

我应该添加什么作用,之前的没有,解决我的问题?

谢谢

角色在定义者权限中没有用处PL/SQL。您将需要直接授予 create table 权限。

或者,在调用者权限中执行此操作 package/procedure。但是,调用者权限最适合 'generic utility' 类型代码而不是业务数据操作。

为什么需要在过程中创建表?不能只在构建中包含所有需要的表吗?