Bonjour tout le monde, voici le corps de ma procédure stockée qui doit comparer les paramètres d'entrée/sortie de 2 packages.
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
19
20
21
22
23
CREATE OR REPLACE PROCEDURE COMPARE_PARAMS_PACKS (ARG OUT VARCHAR2 ) IS
   PROC_NAME VARCHAR2(100);
   CURSOR GET_PROC_NAME IS SELECT procedure_name from all_procedures where owner = 'THERIAQUE' order by 1;
   BEGIN
   OPEN GET_PROC_NAME;
   LOOP
      FETCH GET_PROC_NAME INTO PROC_NAME;
      EXIT WHEN GET_PROC_NAME%NOTFOUND;
      	IF PROC_NAME IS NOT NULL THEN
			SELECT ARGUMENT_NAME INTO ARG
			FROM all_arguments 
			where owner = 'THERIAQUE' AND PACKAGE_NAME ='PACK_THERIAQUE_API'
			AND DATA_TYPE not in ('PL/SQL RECORD', 'REF CURSOR')
			MINUS 
			SELECT ARGUMENT_NAME
			FROM all_arguments 
			where owner = 'THERIAQUE' AND PACKAGE_NAME ='OLD_PACK_THERIAQUE_API' AND OBJECT_NAME=PROC_NAME
			AND DATA_TYPE not in ('PL/SQL RECORD', 'REF CURSOR')
			ORDER BY 1;
		END IF;
	  END LOOP;
   CLOSE GET_PROC_NAME;
END;
Je crois que la syntaxe est correct mais une erreur est généré lors de l'exécution.
Est ce que quequ'un pourrait m'aider à détecter la source l'anomalie.
Merci d'avance pour votre précieuse collaboration.
Cordialement.