bonjour à tous,
j'ai une procédure stokée relativement simple dans un package qui crée temporairement une vue avec les transactions autonomes :
--//--------------------------------------------------------------------------------
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 --//extract package body BIBLIO --//---------------------------------------------------------------------------------- PROCEDURE CREER_VUE(nom_vue IN USER_VIEWS.VIEW_NAME%TYPE,chSQL IN VARCHAR2) IS --//--DECLARATION DE PROCEDURE AUTONOME pragma autonomous_transaction ; BEGIN -- tout le code qui figure ici est dans la transaction autonome EXECUTE IMMEDIATE ('CREATE VIEW '||nom_vue||' AS '||chSQL) ; commit ; END CREER_VUE;
//Lorsque j'appelle via SQL+ par exemple ma procédure, j'ai systèmatiquement un message
TP a les priviléges CONNECT,RESOURCE et DBAprivilèges insuffisants à "TP.BIBLIO"
--//lorsque je code comme suit l'exécution :
--là, bien sur çà marche !!
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
18 declare --extract --différentes variables locales nom_vue USER_VIEWS.VIEW_NAME%TYPE; chSQL VARCHAR2(500); --//--DECLARATION DE PROCEDURE AUTONOME pragma autonomous_transaction ; BEGIN nom_vue:='TITI_AJU3'; chSQL:='SELECT RESU_QUANTITATIF,RESU_SUP_INF,RESU_MESURE FROM RESULTATS WHERE ESS_ID='''||id_essai||''' AND PARA_ID='''||id_parametres||''' AND MATR_ID='''||id_matrice||''' AND RESU_REPONSE=0'; -- tout le code qui figure ici est dans la transaction autonome EXECUTE IMMEDIATE ('CREATE VIEW '||nom_vue||' AS '||chSQL) ; commit ; END;
j'ai cherché, mais pas trouvé le privilège qu'il manque à l'utilisateur TP
un GRANT 'EXECUTE' existe t-il ?
merci de votre aide
Partager