Saya ingin mencetak nilai variabel tertentu yang ada di dalam blok anonim. Saya menggunakan Oracle SQL Developer. Saya mencoba menggunakan dbms_output.put_line
. Tapi itu tidak berhasil. Kode yang saya gunakan ditunjukkan di bawah ini.
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;
Dan saya mendapatkan hasil hanya sebagai anonymous block completed
.
oracle
plsql
oracle-sqldeveloper
988875
sumber
sumber
Jawaban:
Anda perlu mengaktifkan dbms_output. Di Oracle SQL Developer:
Di SQL * Plus:
sumber
Pengembang SQL tampaknya hanya mengeluarkan teks DBMS_OUTPUT ketika Anda secara eksplisit mengaktifkan panel jendela DBMS_OUTPUT.
Masuk ke (Menu) VIEW -> Dbms_output untuk memanggil panel.
Klik pada tanda Green Plus untuk mengaktifkan keluaran untuk koneksi Anda dan kemudian jalankan kodenya.
EDIT: Jangan lupa untuk mengatur ukuran buffer sesuai dengan jumlah output yang Anda harapkan.
sumber
Pertama-tama buat keluaran server
SET SERVEROUTPUT on
kemudianPergi ke jendela Output DBMS (View-> DBMS Output)
lalu Tekan Ctrl+ Nuntuk menghubungkan server
sumber
Ada 2 pilihan:
atau
Buka menu 'view' dan klik 'dbms output'. Anda harus mendapatkan jendela keluaran dbms di bagian bawah lembar kerja. Anda kemudian perlu menambahkan koneksi (karena alasan tertentu ini tidak dilakukan secara otomatis).
sumber
1) Buka menu tampilan.
2) Pilih item menu DBMS_OUTPUT.
3) Tekan Ctrl+ Ndan pilih editor koneksi.
4) Jalankan Perintah SET SERVEROUTPUT ON.
5) Kemudian jalankan PL / SQL Script Anda.
sumber
Saya telah menambahkan Tutup kursor kedua. Ini berfungsi dan mendapatkan output juga ...
sumber
pilih View -> DBMS Output di menu dan
sumber
Buka jendela Output DBMS (View-> DBMS Output).
sumber