Pourquoi aucune sortie lorsque le bloc anonyme PLSQL est terminé? [dupliquer]

cette question a déjà une réponse ici:

  • Imprimer la valeur d'une variable dans le développeur SQL 7 réponses

je viens d'entrer dans PL / SQL, et j'ai essayé d'exécuter le code suivant, et je vais obtenir bloc anonyme terminé , mais je pense que je devrait être d'obtenir sortie de test . Tout savoir ce que je fais de mal?

DECLARE
   message varchar2(20) := 'Testing output';
BEGIN
   dbms_output.put_line(message);
END;
/
16
demandé sur APC 2013-02-11 02:12:55

7 réponses

voir le DBMS_OUTPUT dépend du programme.

SQL * Plus and Oracle SQL Developer

Exécuter SET SERVEROUTPUT ON; en premier. C'est tout ce qui est nécessaire dans SQL*Plus ou dans les versions récentes D'Oracle SQL Developer.

SET SERVEROUTPUT ON;
begin
    dbms_output.put_line('Testing output');
end;
/

PL / SQL Developer

de Sortie est automatiquement détectée et affichée dans l'onglet "Sortie".

46
répondu Lews Therin 2014-12-11 08:28:55

Oui, dans Oracle SQL Developer mettre la déclaration:

SET SERVEROUTPUT ON;

juste avant votre mot-clé DECLARE et cela devrait fonctionner.

Je n'ai pas trouvé View -> DBMS Output et j'utilise la version 1.5.5.

7
répondu Alvin Bunk 2013-09-22 16:39:08

Oui. Il y a moyen de voir la sortie dans le développeur SQL.

cliquez sur - > Vue - > sortie SGBD, puis cliquez sur le symbole + dans la fenêtre de sortie SGBD. maintenant, vous pouvez exécuter la procédure et peut voir la sortie.

3
répondu MAA 2013-09-12 06:43:27

`la déclaration suivante donnera la solution possible essayez ceci out

SET SERVEROUTPUT ON;

alors exécutez ce code obtiendra la sortie suivante

declare
a integer :=10;
b integer :=20;
c integer;
f real;
begin
c := a+b;
dbms_output.put_line('value of c: ' || c);
f := 70.0/3.0;
dbms_output.put_line('value of f: ' || f);

fin; /

le code donnera la sortie suivante

valeur de c: 30 la valeur de f: 23.3333333333333333333333333333333333333

Procédure

PL/SQL terminée avec succès.

2
répondu Pronab Roy 2017-08-09 17:12:26

Oui, c'est correct. Vous devez utiliser avant ce bloc:

SET SERVEROUTPUT ON

ensuite, le message s'affiche sur la fenêtre.

sinon nous pouvons vérifier dans le développeur SQL select "View" -> "DBMS Output" .

et dans PLSQL developer sous l'onglet OutPut nous pouvons vérifier le message.

0
répondu user2001117 2018-02-26 15:42:11
**SET SERVEROUTPUT ON;**
DECLARE
   a INTEGER :=10;
   b INTEGER :=20;
   c float ;
   d real ;

BEGIN
   c :=a+b;
   dbms_output.put_line('the value of C is :'|| c);
   d := 70.0/3.3;
   dbms_output.put_line('the value of d is:'|| d);
END;

Cela vous donnera la sortie

the value of C is: 30
the value of d is: 21.21212121212121212121212121212121212121
-2
répondu Sunil Kumar Sahu 2018-02-26 15:42:50

si vous obtenez" anonymous block completed "pendant l'exécution de la procédure en tapant" EXECUTE; " puis lancez la commande ci-dessous & exécutez à nouveau la procédure. la commande est

SET SERVEROUTPUT ON;

-3
répondu Bablu Gope 2016-08-22 06:26:34