[RESOLU][Transaction autonome][PRIVILEGES]
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:
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
Citation:
privilèges insuffisants à "TP.BIBLIO"
TP a les priviléges CONNECT,RESOURCE et DBA
--//lorsque je code comme suit l'exécution :
Code:
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; |
--là, bien sur çà marche !!
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