Bonjour,
Je n'arrive pas à récupérer les policy Oracle dans la procédure de mon package alors que ma requête renvoie bien des données.
Pour information, voici les éléments créés :
Création du package
Création du body du package
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 create or replace PACKAGE DEPLOY_POLICY IS PROCEDURE RunPol; End DEPLOY_POLICY ; /
Appel du 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 "DEPLOY_POLICY" AS PROCEDURE RunPol is CURSOR C_POLICY IS SELECT * FROM ALL_POLICIES; BEGIN dbms_output.put_line('debut'); for p in C_POLICY loop dbms_output.put_line('policy = ' || p.POLICY_NAME); end loop; dbms_output.put_line('fin'); END RunPol; END DEPLOY_POLICY; /
Cet appel me renvoie les lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SET SERVEROUTPUT ON DECLARE BEGIN DEPLOY_POLICY.RunPol(); END; /
Si je joue la requête "SELECT * FROM ALL_POLICIES" dans sql développeur avec le même utilisateur que celui exécutant le package, j'ai des enregistrements retournés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 bloc anonyme terminé debut fin
Pourriez-vous m'aider à identifier l'origine de cette différence de comportement svp ?
Merci d'avance pour votre aide.
Partager