|
Hola de nuevo. Al final se ha modificado la funcion para que solo tenga parametros de entrada (plsql no permite parametros de salida para funciones).
Ejecuto la sentencia:
declare
ret number;
begin
ret := null;
ret := nombre_funcion ();
dbms_output.put_line('ret = ' || to_char(ret));
end;
esto me muestra el resultado que yo espero, sin embargo no me lo muestra cuando hago desde codigo:
select nombre_funcion() from dual
(en ambos casos utilizo los mismos parametros).
Nota: dentro de la funcion se hace un insert en una tabla, el primer caso lo hace bien por eso me devuelve lo que esperaba pero la segunda forma no hace bien el insert y por eso me devuelve una excepcion.
a q puede ser debido esto? (Si intento hacer el insert a secas tambien me lo permite pero desde la funcion cuando utilizo la forma "select funcion() from dual" no).
Gracias pos su ayuda, un saludo.
|