问题描述
嗨,
有问题SQLLive,(500响应),因此例子是她。
我有一个奇怪的行为与执行立即,它的行为与PL/SQL过程中的行为不同,而不是独立运行时的行为。
以下是示例:
我创建了一个简单的表格
然后我创建一个非常简单的过程,它将根据原始表创建一个表
当我运行这个:
我收到以下错误:
ORA-01031: 权限不足
ORA-06512: 在 “INGIMUNDUR.TEST02”,第4行
ORA-06512: 在2号线
01031. 00000-“特权不足”
但是如果我运行:
一切运行良好,没有错误。
为什么会出现这种差异?
问候,
Ingimundur K. Gudmundsson。
p.s.我还在Oracle XE 11g上进行了测试,其行为是相同的。
有问题SQLLive,(500响应),因此例子是她。
我有一个奇怪的行为与执行立即,它的行为与PL/SQL过程中的行为不同,而不是独立运行时的行为。
以下是示例:
我创建了一个简单的表格
CREATE TABLE TEST01 ( ID NUMBER , TEXT VARCHAR2(100 CHAR) );复制
然后我创建一个非常简单的过程,它将根据原始表创建一个表
CREATE OR REPLACE PROCEDURE test02 AS BEGIN EXECUTE IMMEDIATE 'create table ABCD as select * from TEST01' ; COMMIT ; END test02;复制
当我运行这个:
begin test02(); end;复制
我收到以下错误:
ORA-01031: 权限不足
ORA-06512: 在 “INGIMUNDUR.TEST02”,第4行
ORA-06512: 在2号线
01031. 00000-“特权不足”
但是如果我运行:
BEGIN EXECUTE IMMEDIATE 'create table ABCD as select * from TEST01' ; COMMIT ; END;复制
一切运行良好,没有错误。
为什么会出现这种差异?
问候,
Ingimundur K. Gudmundsson。
p.s.我还在Oracle XE 11g上进行了测试,其行为是相同的。
专家解答
那是因为您需要向用户授予 “create table”。不通过角色继承它:
运行匿名块时不需要这个。仅编译PL/SQL。
CREATE TABLE TEST01 ( ID NUMBER , TEXT VARCHAR2(100 CHAR) ); CREATE OR REPLACE PROCEDURE test02 AS BEGIN EXECUTE IMMEDIATE 'create table ABCD as select * from TEST01' ; COMMIT ; END test02; / exec test02(); ORA-01031: insufficient privileges grant create table to chris; exec test02(); desc ABCD; Name Null? Type ID NUMBER TEXT VARCHAR2(100 CHAR)复制
运行匿名块时不需要这个。仅编译PL/SQL。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
967次阅读
2025-03-17 11:33:53
Oracle DataGuard高可用性解决方案详解
孙莹
410次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
355次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
343次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
311次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
287次阅读
2025-04-08 23:57:08
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
287次阅读
2025-03-24 09:42:53
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
281次阅读
2025-03-19 14:41:51
oracle定时任务常用攻略
virvle
280次阅读
2025-03-25 16:05:19
MySQL 有没有类似 Oracle 的索引监控功能?
JiekeXu
258次阅读
2025-03-19 23:43:22