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.
Je crois que la syntaxe est correct mais une erreur est généré lors de l'exécution.
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;
Est ce que quequ'un pourrait m'aider à détecter la source l'anomalie.
Merci d'avance pour votre précieuse collaboration.
Cordialement.
Partager