Quería imprimir el valor de una variable en particular que está dentro de un bloque anónimo. Estoy usando Oracle SQL Developer. Intenté usar dbms_output.put_line
. Pero no está funcionando. El código que estoy usando se muestra a continuación.
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;
Y obtengo la salida solo como anonymous block completed
.
oracle
plsql
oracle-sqldeveloper
988875
fuente
fuente
Respuestas:
Necesita activar dbms_output. En Oracle SQL Developer:
En SQL * Plus:
fuente
SQL Developer parece generar solo el texto DBMS_OUTPUT cuando ha activado explícitamente el panel de la ventana DBMS_OUTPUT.
Vaya a (Menú) VER -> Dbms_output para invocar el panel.
Haga clic en el signo más verde para habilitar la salida para su conexión y luego ejecute el código.
EDITAR: No olvide configurar el tamaño del búfer de acuerdo con la cantidad de salida que espera.
fuente
Hacer que la salida del servidor sea en primer lugar
SET SERVEROUTPUT on
luegoVaya a la ventana Salida de DBMS (Ver-> Salida de DBMS)
luego presione Ctrl+ Npara conectar el servidor
fuente
Hay 2 opciones:
o
Abra el menú 'ver' y haga clic en 'salida dbms'. Debería obtener una ventana de salida de dbms en la parte inferior de la hoja de trabajo. Luego debe agregar la conexión (por alguna razón, esto no se hace automáticamente).
fuente
1) Vaya al menú de visualización.
2) Seleccione el elemento de menú DBMS_OUTPUT.
3) Presione Ctrl+ Ny seleccione el editor de conexiones.
4) Ejecute el comando SET SERVEROUTPUT ON.
5) Luego ejecute su script PL / SQL.
fuente
He agregado Cierre del segundo cursor. Funciona y obtiene resultados también ...
fuente
seleccione Ver -> Salida DBMS en el menú y
fuente
Vaya a la ventana Salida de DBMS (Ver-> Salida de DBMS).
fuente