Bonjour,

Je suis en train de migrer une application, de DB2 7.2 vers Oracle (8 ou 9 je ne sais plus).
Cette ancienne application comprend plein de procédures stockées et j'ai énormément de mal avec cela, car je n'ai jamais eu auparavant à y toucher.

Voila la procédure initiale DB2 :

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
CREATE PROCEDURE MA_PROCEDURE()
    LANGUAGE SQL
    RESULT SETS 1
    READS SQL DATA
 
P1: BEGIN
        DECLARE cursor1 CURSOR WITH RETURN FOR
        SELECT * 
        FROM    MATABLE
        ORDER BY ID
        WITH UR;
 
        -- Curseur maintenu ouvert pour l'application client
        OPEN cursor1;       
END P1
En version Oracle cela donnerait, si j'ai bien compris :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
create or replace PROCEDURE MA_PROCEDURE
 IS
   CURSOR cursor1 IS
       SELECT * 
        FROM    MATABLE
        ORDER BY ID
BEGIN
   -- Curseur maintenu ouvert pour l'application client
   open cursor1 ;
END  MA_PROCEDURE;
Sauf que quand j'execute ma procédure, je n'ai rien qui s'affiche à l'écran :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SQL> execute MA_PROCEDURE;
Procédure PL/SQL terminée avec succès.

NB : quand je l'execute sous DB2, j'ai bien des résultats, et ma table n'est pas vide ...

J'espere que vous aurez tous de bonnes idées ... enfin, une qui fonctionne me serait énormément utile

Merci par avance,
K.