Sql 关于存储过程中的立即执行
我从存储过程中得到以下语句。它没有给予足够的特权。 但如果我单独从sql提示符运行create语句,它将创建表Sql 关于存储过程中的立即执行,sql,oracle,stored-procedures,plsql,Sql,Oracle,Stored Procedures,Plsql,我从存储过程中得到以下语句。它没有给予足够的特权。 但如果我单独从sql提示符运行create语句,它将创建表 execute immediate 'create table TEST_ABC( NO_AC NUMBER(8) , ILL_PER VARCHAR2(15) , INIT_C DATE )'; 要通过存储过程中的
execute immediate 'create table TEST_ABC(
NO_AC NUMBER(8)
, ILL_PER VARCHAR2(15)
, INIT_C DATE
)';
要通过存储过程中的execute immediate创建表,需要做什么。不确定它在sql命令提示符下的工作方式过程不会继承通过角色授予的权限。更多信息。请检查一下你是否是这样的
解决此问题的一种方法是直接向拥有该过程的帐户授予“创建表”权限。该过程是由同一用户创建的吗?如果它是由其他人创建的,并且您只有EXECUTE权限,那么错误是正确的(假设create过程没有
AUTHID CURRENT USER
子句)
你能创建其他表格吗?如果可以,那么就有一些问题。我们需要更多的细节来分析。您是否使用同一用户执行存储过程?