ora-01031 (insuff priv) while create table in package

From: Norbert Winkler <norbert.winkler1_at_gmx.de>
Date: Mon, 14 Jul 2008 15:25:13 +0200
Message-ID: <1m1vnzjxjn4k$.18fffz57ac0tj$.dlg@40tude.net>


Hi,

I can't do a create table in a package procedure. A drop jedoch is possible.
With google I doesn't find any hint for a necessary privilege.

Here is the test package:



CREATE OR REPLACE package DDL_IN_PACKAGE is   procedure TestDROP;
  procedure TestCreate;
end DDL_In_Package;
/
CREATE OR REPLACE package body DDL_IN_PACKAGE is procedure TestDROP is
begin
  execute immediate 'DROP TABLE XXX';
end;
procedure TestCreate is
begin
  execute immediate 'CREATE TABLE XXX (a integer)'; end;
end DDL_In_Package;
/

Here is the code that works:


  • drop TABLE XXX; CREATE TABLE XXX (a integer);

begin
  ddl_in_package.testdrop;
-- ddl_in_package.testcreate;
end;
/

Here is the code that fails:



drop TABLE XXX;
--CREATE TABLE XXX (a integer);

begin
-- ddl_in_package.testdrop;
  ddl_in_package.testcreate;
end;
/
-->

ORA-01031: insufficient privileges
ORA-06512: at "DDL_IN_PACKAGE", line 10


Thanks for any suggestion

-- 
Norbert
Received on Mon Jul 14 2008 - 08:25:13 CDT

Original text of this message