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
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 ;
/
Création du body 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;
/
Appel du package
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;
/
Cet appel me renvoie les lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
bloc anonyme terminé
debut
fin
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.

Pourriez-vous m'aider à identifier l'origine de cette différence de comportement svp ?

Merci d'avance pour votre aide.