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;
/
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".
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.
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.
`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édurePL/SQL terminée avec succès.
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.
**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
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;