web-dev-qa-db-fra.com

Pourquoi aucune sortie lorsque le bloc anonyme PLSQL se termine?

J'entre dans PL/SQL, et j'ai essayé d'exécuter le code suivant, et j'obtiens bloc anonyme terminé, mais je pense que je devrais obtenir Test de sortie . Est-ce que quelqu'un sait ce que je fais mal?

DECLARE
   message varchar2(20) := 'Testing output';
BEGIN
   dbms_output.put_line(message);
END;
/
17
user1817081

L'affichage de DBMS_OUTPUT dépend du programme.

SQL * Plus et Oracle SQL Developer

Courir SET SERVEROUTPUT ON; 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;
/

Développeur PL/SQL

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

49
Lews Therin

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

SET SERVEROUTPUT ON;

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

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

7
Alvin Bunk

Oui. Il existe un moyen de voir la sortie dans SQL Developer.

Cliquez sur -> Affichage-> Sortie Dbms puis cliquez sur le symbole + dans la fenêtre de sortie Dbms. vous pouvez maintenant exécuter la procédure et voir la sortie.

3
MAA

`La déclaration suivante donnera la solution possible, essayez ceci

SET SERVEROUTPUT ON;

Ensuite, exécutez ce code pour obtenir 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 valeur de f: 23.333333333333333333333333333333333333333

Procédure PL/SQL terminée avec succès.

2
Pronab Roy

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 archiver SQL Developer select "View" -> "DBMS Output".
et en PLSQL developer sous l'onglet OutPut nous pouvons vérifier le message.

0
user2001117