执行某个存储过程时报错:ORA-01031: insufficient privileges。 调试存储过程,发现在存储过程运行到创建表的这一步时出错,意即没有权限创建表,但实际上执行这个存储过程的用户是有创建表的权限的,在网上查找同样的错误信息,发现基本上都是登陆数据库的时候报这个错误,并没有执行存储过程中报这个错误的案例。 请教同事...
⽤户具有dba权限,但在执⾏⼀个存储过程时提⽰“ORA-01031: 权限不⾜”,该过程中存在动态SQL“execute immediate。。。”正是这⾥报的错误。1、ORACLE默认为定义者权限,定义者权限在存储过程中ROLE⽆效,需要显⽰授权。2、如果使⽤AUTHID CURRENT_USER关键字使⽤调⽤者权限,则编译时ROLE⽆...
当执行该语句时,提示ORA-01031: 权限不足。该用户已赋予DBA权限。 原因:CREATE TABLE想使用CREATE ANY TABLE权限,而CREATE ANY TABLE权限来自DBA角色,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(无效)。 即:ORACLE默认为定义者权限,定义者权限在存储过程中ROLE无效,需要显式授权。 GRANTCREATEANYTABLETO...
执⾏存储过程报错——ora-01031:权限不⾜ 1. 执⾏DDL报错 在oracle存储过程中,默认是可以直接执⾏DML和DQL的,但是执⾏CREATE这种的DDL则需要借助EXECUTE IMMEDIATE ···了,如下备份表语句 --抄表表备份 SELECT TO_CHAR(SYSDATE,'YYMMDD') INTO V_DQRQ FROM DUAL;V_CREATESQL :='CREATE TABLE ...
在使用存储过程进行建表时,提示没有权限 :ORA-01031: insufficient privileges 如下图所示 存储过程代码如下: CREATE OR REPLACE PROCEDURE sp_test IS v_sql VARCHAR2(500); ---备份表 v_sql := 'create table t_test as select * from user_tables' ; EXECUTE IMMEDIATE...
当执行该语句时,提示ORA-01031: 权限不足。该用户已赋予DBA权限。 原因:CREATE TABLE想使用CREATE ANY TABLE权限,而CREATE ANY TABLE权限来自DBA角色,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(无效)。 即:ORACLE默认为定义者权限,定义者权限在存储过程中ROLE无效,需要显式授权。
我的存储过程如下:create or replace procedure xu_create isv_a varchar2(20):='&输入表名称';v_b varchar2(20):='&输入表的字段';v_c varchar2(20):='&输入表的字段';v_sql varchar2(2000);beginv_sql:='create table '||v_a||'('||v_b||' varchar2(20),'||v_c||' varchar2(20...
【题目 ORA-01031 :权限不足 我用scott.用户创建了一个存储过程,创建成功后我 调用改存储过程就提示我权限不足是怎么回事锕 ,有谁帮解决一下下钢 我的存储过程如下 create or replace procedure xu create is v_a varchar 2:='&输入表名称 v_b varchar 2:='&输入表的字段 v_c varchar 2:='&输入表...
以下存储过程编译正常,其中的SQL语句在PLSQL执行也正常,但是在存储过程中执行即报告错误:ORA-01031: insufficient privileges。 create or replace procedure DBA_REBUILD_INDEX As Begin execute immediate 'alter index PK_DUBAI_STORAGE_OUT_MANIFEST rebuild online'; ...
执行某个存储过程时报错:ORA-01031: insufficient privileges。 调试存储过程,发现在存储过程运行到创建表的这一步时出错,意即没有权限创建表,但实际上执行这个存储过程的用户是有创建表的权限的,在网上得到解决方法,在存储过程中添加如下内容即可:Authid Current_User,修改后的存储过程结构如下: ...