Cita:
Iniciado por IngProd Hola a todos,
Necesito lanzar un insert, en el que uno de los valores debe ser el resultado de un select. He intentado algo así:
CREATE OR REPLACE FUNCTION f01 ()
RETURN NUMBER
IS
nuevo_id NUMBER(11,2);
BEGIN
SELECT count(*)
INTO nuevo_id
FROM mi_tabla_01;
RETURN(nuevo_id);
END
INSERT INTO mi_tabla_02 (campo) values (fo1());
pero obtengo esto:
SQL Error: ORA-06575: La función o el paquete F01 tienen en un estado no válido
06575. 00000 - "Package or function %s is in an invalid state"
No sé cómo obtener información para saber qué falla... ¿?¿?
Gracias!!
Lo primero : La funcion está descompilada.
Tira esto en el sql plus : ALTER FUNCTION F01 COMPILE;
Si te dice FUNCION ALTERADA CON ERRORES DE COMPILACION, tira esto otro :
SHOW ERR ( Esto te mostrará los errores que tiene la funcion )
Lo segundo, la forma de hacer el insert es esta :
INSERT INTO mi_tabla_02 select F01 from dual;