2011-01-28 9 views
7

¿Cómo averiguo en Toad cuál es el valor de retorno de una función?¿Cómo obtengo el valor de retorno de una función en Oracle usando Toad

estoy ejecutando algo como esto Código:

declare r number; 
begin 
    r:= packagename.functionname(paraname); 
end; 

no puedo encontrar la manera de conseguir "r" devuelta a la red de datos, algunos de los puestos de salida sugieren el uso de DBMS, pero no hay nada escrito a ella cuando ejecuto el código

La función realiza actualizaciones, confirmaciones, llama a otras funciones y tiene cursores.

Respuesta

12
begin 
    dbms_output.put_line(packagename.functionname(paraname)); 
end; 

Tendrá que activar la salida de antes de ejecutar este. Para ello, seleccione la pestaña "Salida DBMS" en la parte inferior del editor, luego haga clic en el botón situado más a la izquierda debajo de la pestaña (debe mostrar un círculo rojo con la información sobre herramientas "Activar salida" (si es un círculo verde, salida ya está encendido)).

Los resultados de la consulta se escribirán en la ventana "Salida del DBMS", no en la "Cuadrícula de datos" (es posible que tenga que esperar unos segundos para que la encuesta recoja los resultados). Si usa un tipo definido por el usuario o un cursor de ref, esto será insuficiente y deberá procesar los resultados en el bloque anónimo antes de escribirlos.

+0

También puede activar "Encuestar automáticamente para salida después de la ejecución" en la misma área en la parte inferior. – Andrew

8

¿Qué tal:

select packagename.functionname(paraname) from dual; 
+2

Lo intenté pero obtengo: "ORA-14552 no puede realizar un DDL, confirmar o retrotraer dentro de una consulta o DML". Publicación editada para proporcionar más información. – Stagg

-1

La respuesta de Klaus de

seleccione packagename.functionname (paraname) de la doble;

funcionó para mí pero solo devolvió un cursor. Esto se muestra como (CURSOR) en la cuadrícula de datos en Toad. Una vez que hice doble clic en eso, se abrió una nueva ventana con una cuadrícula de datos para ese cursor y vi mis resultados.

+2

Esto es más como un comentario que una nueva respuesta a la pregunta – slfan

Cuestiones relacionadas