Je voulais imprimer la valeur d'une variable particulière qui se trouve à l'intérieur d'un bloc anonyme. J'utilise Oracle SQL Developer. J'ai essayé d'utiliser dbms_output.put_line
. Mais ça ne fonctionne pas. Le code que j'utilise est indiqué ci-dessous.
SET SERVEROUTPUT ON
DECLARE
CTABLE USER_OBJECTS.OBJECT_NAME%TYPE;
CCOLUMN ALL_TAB_COLS.COLUMN_NAME%TYPE;
V_ALL_COLS VARCHAR2(500);
CURSOR CURSOR_TABLE
IS
SELECT OBJECT_NAME
FROM USER_OBJECTS
WHERE OBJECT_TYPE='TABLE'
AND OBJECT_NAME LIKE 'tb_prm_%';
CURSOR CURSOR_COLUMNS (V_TABLE_NAME IN VARCHAR2)
IS
SELECT COLUMN_NAME
FROM ALL_TAB_COLS
WHERE TABLE_NAME = V_TABLE_NAME;
BEGIN
OPEN CURSOR_TABLE;
LOOP
FETCH CURSOR_TABLE INTO CTABLE;
EXIT WHEN CURSOR_TABLE%NOTFOUND;
OPEN CURSOR_COLUMNS (CTABLE);
V_ALL_COLS := NULL;
LOOP
FETCH CURSOR_COLUMNS INTO CCOLUMN;
V_ALL_COLS := V_ALL_COLS || CCOLUMN;
IF CURSOR_COLUMNS%FOUND THEN
V_ALL_COLS := V_ALL_COLS || ', ';
ELSE
EXIT;
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE(V_ALL_COLS);
END LOOP;
CLOSE CURSOR_TABLE;
END;
Et je reçois la sortie uniquement en tant que anonymous block completed
.
oracle
plsql
oracle-sqldeveloper
988875
la source
la source
Réponses:
Vous devez activer dbms_output. Dans Oracle SQL Developer:
Dans SQL * Plus:
la source
SQL Developer semble afficher uniquement le texte DBMS_OUTPUT lorsque vous avez explicitement activé le volet de la fenêtre DBMS_OUTPUT.
Allez dans (Menu) VIEW -> Dbms_output pour appeler le volet.
Cliquez sur le signe Green Plus pour activer la sortie de votre connexion, puis exécutez le code.
EDIT: N'oubliez pas de définir la taille de la mémoire tampon en fonction de la quantité de sortie que vous attendez.
la source
Faire la sortie du serveur sur Tout d'abord
SET SERVEROUTPUT on
puisAccédez à la fenêtre Sortie du SGBD (Affichage-> Sortie du SGBD)
puis appuyez sur Ctrl+ Npour connecter le serveur
la source
Il existe 2 options:
ou
Ouvrez le menu 'view' et cliquez sur 'dbms output'. Vous devriez obtenir une fenêtre de sortie dbms au bas de la feuille de calcul. Vous devez ensuite ajouter la connexion (pour une raison quelconque, cela ne se fait pas automatiquement).
la source
1) Allez au menu de visualisation.
2) Sélectionnez l'élément de menu DBMS_OUTPUT.
3) Appuyez sur Ctrl+ Net sélectionnez l'éditeur de connexion.
4) Exécutez la commande SET SERVEROUTPUT ON.
5) Exécutez ensuite votre script PL / SQL.
la source
J'ai ajouté la fermeture du deuxième curseur. Cela fonctionne et obtient également une sortie ...
la source
sélectionnez Affichage -> Sortie SGBD dans le menu et
la source
Accédez à la fenêtre Sortie du SGBD (Affichage-> Sortie du SGBD).
la source