以普通用户连接数据库后
在命令窗口中执行下面语句,可生成AAA_TEMP
CREATE GLOBAL TEMPORARY TABLE AAA_TEMP AS (SELECT * FROM TEMP)但是执行procedure
create or replace procedure aaa is
S_SQL VARCHAR2(5000);
begin
S_SQL:='CREATE GLOBAL TEMPORARY TABLE AAA_TEMP AS (SELECT * FROM TEMP)';
execute immediate S_SQL ;
end aaa;
提示:ora-01031:insufficient privileges
(权限不够)以sys用户连接数据库后,但是执行procedure,无任何问题。
但是必须用普通用户连接数据库呀,
这个问题如何解决?
谢谢!
在命令窗口中执行下面语句,可生成AAA_TEMP
CREATE GLOBAL TEMPORARY TABLE AAA_TEMP AS (SELECT * FROM TEMP)但是执行procedure
create or replace procedure aaa is
S_SQL VARCHAR2(5000);
begin
S_SQL:='CREATE GLOBAL TEMPORARY TABLE AAA_TEMP AS (SELECT * FROM TEMP)';
execute immediate S_SQL ;
end aaa;
提示:ora-01031:insufficient privileges
(权限不够)以sys用户连接数据库后,但是执行procedure,无任何问题。
但是必须用普通用户连接数据库呀,
这个问题如何解决?
谢谢!
解决方案 »
- oracle 分组统计的问题 ... 求解 .
- 解释一个简单的语法
- 如何在数据库中判断 用户登录ID
- oracle 10g job不自动执行
- 同样的查询语句在pl/sql 中执行0.296s 在存储过程中执行要3.9s 请问为何差距这么大?有没有什么办法解决?
- sql行列转换问题
- 请教高手,如何通过JDBC从Oracle数据库中读取一个blob类型的照片,并将它展示到JSP页面上?
- 为什么按主键列搜索反而不会用到索引????
- 请教关于“数据大小超出此类型的最大值”的问题。
- 高手请进! 关于一个方案的设计......
- 求解决方案,数据库中有一列值是从0到999999 ......
- 如何设计公交查询系统的表?
2 S_SQL VARCHAR2(5000);
3 begin
4 S_SQL:='CREATE GLOBAL TEMPORARY TABLE AAA_TEMP AS SELECT * FROM tbc';
5 execute immediate S_SQL ;
6 end aaa;
7 /过程已创建。SQL> exec aaa;
BEGIN aaa; END;*
ERROR 位于第 1 行:
ORA-01031: 权限不足
ORA-06512: 在"SCOTT.AAA", line 5
ORA-06512: 在line 1
SQL> conn internal/oracle
已连接。
SQL> grant create table to scott;授权成功。SQL> conn scott/tiger
已连接。
SQL> exec aaa;PL/SQL 过程已成功完成。SQL> select * from cat;TABLE_NAME TABLE_TYPE
------------------------------ -----------
AAA_TEMP TABLE
ACCOUNT TABLE
BONUS TABLE
DEPT TABLE
EMP TABLE
RECEIPT TABLE
SALGRADE TABLE
TB TABLE
TBA TABLE
TBC TABLE
TBL TABLE已选择11行。SQL>