Chciałem wydrukować wartość określonej zmiennej, która znajduje się w anonimowym bloku. Używam Oracle SQL Developer. Próbowałem użyć dbms_output.put_line
. Ale to nie działa. Kod, którego używam jest pokazany poniżej.
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;
I otrzymuję dane wyjściowe tylko jako anonymous block completed
.
oracle
plsql
oracle-sqldeveloper
988875
źródło
źródło
Odpowiedzi:
Musisz włączyć dbms_output. W Oracle SQL Developer:
W SQL * Plus:
źródło
SQL Developer wydaje się wyświetlać tekst DBMS_OUTPUT tylko wtedy, gdy jawnie włączyłeś panel okna DBMS_OUTPUT.
Przejdź do (Menu) VIEW -> Dbms_output, aby wywołać panel.
Kliknij znak Green Plus, aby włączyć wyjście dla połączenia, a następnie uruchom kod.
EDYCJA: Nie zapomnij ustawić rozmiaru bufora zgodnie z oczekiwaną ilością danych wyjściowych.
źródło
Najpierw włącz serwer wyjściowy
SET SERVEROUTPUT on
następniePrzejdź do okna Wyjście DBMS (Widok-> Wyjście DBMS)
następnie naciśnij Ctrl+, Naby połączyć się z serwerem
źródło
Istnieją 2 opcje:
lub
Otwórz menu „Widok” i kliknij „Wyjście dbms”. Na dole arkusza powinno pojawić się okno danych wyjściowych dbms. Następnie musisz dodać połączenie (z jakiegoś powodu nie dzieje się to automatycznie).
źródło
1) Przejdź do menu widoku.
2) Wybierz pozycję menu DBMS_OUTPUT.
3) Naciśnij Ctrl+ Ni wybierz edytor połączeń.
4) Wykonaj polecenie SET SERVEROUTPUT ON.
5) Następnie wykonaj swój skrypt PL / SQL.
źródło
Dodałem zamknięcie drugiego kursora. Działa i również uzyskuje wyniki ...
źródło
wybierz Widok -> Wyjście DBMS w menu i
źródło
Przejdź do okna Wyjście DBMS (Widok-> Wyjście DBMS).
źródło