Bonjour à tous,
J'ai un problème de privilège avec mon code PL/SQL que je n'ai pas sous SQL.
voici ma procédure dans son paquet :
voici ma commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 -- Create Package CREATE OR REPLACE PACKAGE pkg IS -- Create Table PROCEDURE create_table (table_name IN VARCHAR2 ); END; / CREATE OR REPLACE PACKAGE BODY pkg IS PROCEDURE create_table ( table_name IN VARCHAR2) IS create_tab varchar2(100); BEGIN create_tab := 'CREATE TABLE ' || table_name || ' AS SELECT * FROM v$session'; EXECUTE IMMEDIATE create_tab; END; END; /
Mon erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 BEGIN pkg.create_table( 'toto' ); END; /
Rapport d'erreur :
ORA-01031: privilèges insuffisants
ORA-06512: à "USER.PKG", ligne 14
ORA-06512: à ligne 2
01031. 00000 - "insufficient privileges"
J'ai lu que l'erreur ORA-06512 pouvait être du à une variable trop petite pour la valeur stockée. Cependant, modifier la taille de varchar2(100), n'a rien changé.
Merci d'avance pour vos réponses !
Partager