i ont une procédure stockée simple oracle PROC1 comme suit:pourquoi je ne peux pas arrêter mon pl/sql programme au point d'arrêt que je reproduis dans TOAD
CREATE OR REPLACE PROCEDURE SYS.proc1
IS
total NUMBER := 0;
temp INTEGER := 0;
BEGIN
FOR i IN 1 .. 5
LOOP
temp := 2 * i;
total := total + temp;
END LOOP;
DBMS_OUTPUT.put_line (total);
END;
le propriétaire de PROC1 est sys. sys ont assez de privilèges pour déboguer PROC1 que la commande SQL de suivi montre:
SELECT *
FROM session_privs
WHERE privilege LIKE '%DEBUG%';
je vais obtenir le résultat suivant:
DEBUG CONNECT SESSION
DEBUG ANY PROCEDURE
j'utilise 11g Oracle comme les commandes SQL suivantes montre:
SELECT * FROM v$database;
SELECT * FROM v$instance;
les requêtes supérieures me donne:
1223277241,ORCL,8/21/2009 5:28:25 PM,886308,8/21/2009 5:28:28 PM,1,10/15/2007 10:08:59 AM,NOARCHIVELOG,3510666,3399439,CURRENT,8/21/2009 5:28:26 PM,10008,3536169,11/10/2009 3:16:51 PM,NOT ALLOWED,8/21/2009 5:28:25 PM,READ WRITE,MAXIMUM PERFORMANCE,UNPROTECTED,ENABLED,1223308473,1223308473,PRIMARY,886308,DISABLED,SESSIONS ACTIVE,DISABLED,NONE,NO,NO,NO,NO,7,Microsoft Windows IA (32-bit),2,2,3536339,NO,NO,NO,orcl,0,DISABLED,,0,,,NO,,NO,
et
1,orcl,WD00070136,11.1.0.6.0,11/9/2009 11:04:29 AM,OPEN,NO,1,STOPPED,,ALLOWED,NO,ACTIVE,PRIMARY_INSTANCE,NORMAL,NO
dans TOAD, je mis au point d'arrêt PROC1, puis je clique sur le bouton « exécuter le plsql avec le débogueur ». TOAD lance proc1 et affiche le résultat immédiatement. Cela ne s'arrête pas au point d'arrêt. Je ne sais pas pourquoi. Est-ce que quelqu'un a déjà rencontré ce problème? comment le réparer? Grand merci!
ps: j'utilise crapaud 9.7.2
pas Burz, je sais crapaud pl/sql ediror ajoutera un point bleu à chaque ligne de votre programme stocké où vous pouvez (devriez) définir des points d'arrêt. Je viens de définir un point d'arrêt à *** temp: = 2 * i; ***. Merci. –