L'impression de la valeur d'une variable dans SQL Developer
Je voulais imprimer la valeur d'une variable particulière qui est à l'intérieur d'un bloc anonyme. Je suis à l'aide de 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 j'en suis sortie seule, comme anonymous block completed
.
- la sortie est vidé à la fin/fin du programme, c'est la façon dont il fonctionne. Vous ne pouvez pas rincer à afficher lors de l'exécution. Regarder dans les tables du journal (autonome de transaction) pour voir ce qui se produit lorsqu'un programme est en cours d'exécution
- Pourquoi ne pas utiliser le débogueur et étape par le biais de votre bloc. Il montre l'état de toutes les variables.
- SET SERVEROUTPUT ON; --ajouter un point-virgule, TOUT sélectionner et exécuter les développeurs, pour moi sa fonctionne très bien,
Vous devez vous connecter pour publier un commentaire.
Vous devez activer dbms_output.
Dans Oracle SQL Developer:
Dans SQL*Plus:
SQL Developer semble être la seule à la sortie de la DBMS_OUTPUT de texte lorsque vous avez explicitement tourné sur le DBMS_OUTPUT volet de la fenêtre.
Aller dans le Menu AFFICHAGE -> Dbms_output d'invoquer le volet.
Cliquez sur le signe + pour activer la sortie de votre connexion, puis exécutez le code.
EDIT: Ne pas oublier de régler la taille de la mémoire tampon en fonction de la quantité de sortie vous attend.
Serveur sont de sortie sur la Première de toutes les
SET SERVEROUTPUT on
puisAller au SGBD de la fenêtre de Sortie (Affichage->SGBD Sortie)
puis Appuyez sur Ctrl+N pour le serveur de connexion
Il y a 2 options:
ou
Ouvrir le menu "affichage" et cliquez sur "sgbd de sortie". Vous devriez obtenir un sgbd fenêtre de sortie au bas de la feuille de calcul. Vous devez ensuite ajouter de la connexion (pour une raison quelconque, cela n'est pas fait automatiquement).
J'ai ajouté Près de deuxième curseur. Il travail et l'obtention de la sortie ainsi...
1 ) Allez au menu affichage.
2 ) Sélectionnez le DBMS_OUTPUT élément de menu.
3 ) Appuyez sur la touche Ctrl + N et sélectionnez la connexion de l'éditeur.
4 ) Exécuter le SET SERVEROUTPUT SUR Commande.
5 ), Puis d'exécuter votre PL/SQL Script.
sélectionnez Affichage-->SGBD de Sortie dans le menu et la
Aller au SGBD de la fenêtre de Sortie (Affichage->SGBD de Sortie).