Oracle - DBMS_OUTPUT.PUT_LINE

 
Vista:

DBMS_OUTPUT.PUT_LINE

Publicado por Antoine (2 intervenciones) el 20/07/2017 21:07:20
Hola todos

Si retiro DBMS_OUTPUT.PUT_LINE funciona bien pero no puedo ver el resultado
Si utilizo DBMS_OUTPUT.PUT_LINE entonces marca el error
PLS-00306: wrong number or types of arguments in call to 'PUT_LINE'
Por favor podrian ayudarme? Gracias

1
2
3
4
5
6
7
8
9
10
11
SET SERVEROUTPUT ON
DECLARE
vSRef SYS_REFCURSOR;
BEGIN
vSRef:=PACKAGE_CLIENTS.customers('130');
DBMS_OUTPUT.ENABLE(1000000);
DBMS_OUTPUT.PUT_LINE(vSRef);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR:'||sqlerrm);
END;


:)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

DBMS_OUTPUT.PUT_LINE

Publicado por Rafael (328 intervenciones) el 21/07/2017 08:27:17
Hola:

Vamos a ver chico creo que no te quieres enterar ...
Peras con Peras y Manzanas con Manzanas...

La definición de la función que quieres usar es la siguiente:
DBMS_OUTPUT.PUT_LINE (item IN VARCHAR2);

Te resalto el error que cometes... tu le envías...
vSRef SYS_REFCURSOR;
...
DBMS_OUTPUT.PUT_LINE(vSRef);

Ahora sabes cual es el error ????
Ahora por partes ¿que tanto te regresa PACKAGE_CLIENTS.customers('130');?
Y no solo en numero de registros si no tambien en cuanto a columnas.

Por que ahi recide el cambio que deberias hacer, y te deberia quedar algo como esto:
1
2
3
4
5
6
LOOP
    FETCH vSRef
    INTO  COL1, COL2, ..., COLN;
    EXIT WHEN vSRef%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(COL1 || ' | ' || COL2 || ' | ' || .... COLN);
  END LOOP;
Definir las variables COL1, COL2 ... COLN en funcion de las columnas que te devuelve el cursor.

Vaya eso para mostrarlo por DBMS_OUTPUT.PUT_LINE, quizas hay formas mas sencillas de hacer lo que quieres ....

Por ejemplo que tal si haces algo simplemente asi:

1
SELECT * FROM (PACKAGE_CLIENTS.customers('130')) A;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar