PLSQL:创建临时表的特权

时间:2017-03-10 16:29:57

标签: plsql privileges

我想根据用户A在包中的过程中创建一个临时表。

我写这个:

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

我有一个错误说:

ORA-01031 : Insufficient privilege 

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

CONNECT
DBA
RESOURCE

我应该添加什么角色来解决我的问题?

由于

1 个答案:

答案 0 :(得分:1)

角色在definer-rights PL / SQL中没有用。您需要直接授予create table权限。

或者,在invoker-rights包/过程中执行此操作。但是,调用者权利最适合于通用实用程序'键入代码而不是业务数据操作。

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