Bonjour tout le monde,

J'ai un problème que je n'arrive pas toujours à résoudre

J'ai une procédure PL/SQL dans un package :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
CREATE OR REPLACE package body PKG1 As
 
procedure create_test is
 
    begin
 
    execute immediate ('Create Table table1 as select * from table2') ;
 
    end create_test;
 
 
end;
quand j'exécute cette procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
begin 
PKG1.create_test; 
end;
il m'affiche une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ORA-01031: privilèges insuffisants
alors que si j'exécute :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
begin
    execute immediate ('Create Table table1 as select * from table2') ;
end;
ça marche !

L'utilisateur base de données a reçu les grant explicitement ( il a aussi le grant create session et le droit d'exécuter des procédures ! )

Est ce que vous pouvez me dire où es le problème exactement ?

Merci pour votre aide