Execute Immediate schlägt auch mit CREATE table grant @ fe
Ich habe ein Problem beim Erstellen einer Tabelle mit dem Befehl "Sofort ausführen" in der gespeicherten Prozedur. Allerdings bekomme ich den Fehler "Unzureichende Rechte". Ich habe andere Threads überprüft und sichergestellt, dass dem Benutzer die Berechtigung "CREATE TABLE" erteilt wurde. Trotzdem sehe ich immer noch den gleichen Fehler.
SQL> select * from USER_SYS_PRIVS;
USERNAME PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
MYUSER CREATE VIEW NO
MYUSER UNLIMITED TABLESPACE NO
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE CLUSTER
CREATE VIEW
CREATE SEQUENCE
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE
11 rows selected.
Die von mir erstellte Dummy-Prozedur lautet:
create or replace procedure sp_dummy
as
begin
execute immediate 'Create table Dummy99_99 (Dummy_Field number)';
end sp_dummy;
/
Detaillierter Fehler:
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "MYUSER.SP_DUMMY", line 4
ORA-06512: at line 1
Ist etwas nicht in Ordnung, was ich tue?