1
我有程序創建對象krn_ddl_mgr,所以肌酸看起來像這樣:ora1031上創建表裏面執行即時
begin
krn_ddl_mgr.create_object('create table krn_modules
(
id varchar2(30 byte),
description varchar2(4000 byte)
)
tablespace MDLDATA
rowdependencies');
end;
/
,並拋出ora1031權限不足異常。目前僅在程序
procedure create_object(p_sql in clob) is
begin
execute immediate p_sql;
dbms_output.put_line('create_object done');
exception
when others then
case
when (lower(p_sql) like ('create%')) and sqlcode = -955 or sqlcode = -2264 then
null;
when lower(p_sql) like ('alter% primary %') and sqlcode = -2260 or sqlcode = -2261 then
null;
when lower(p_sql) like ('alter% check %') and sqlcode = -2264 then
null;
when lower(p_sql) like ('alter% references %') and sqlcode = -2275 then
null;
else
raise;
end case;
end create_object;
執行即時操作的時候,不使用程序,使用時只需創建表或創建表內執行它的工作原理立即聲明。另外我試圖創建的create_object過程和表都在一個模式中。爲什麼會發生?