Error con SQL Dinámico
Hola Amigos:
Pueden ayudarme?
Intento ejecutar la siguiente función:
FUNCTION Ejecutar_Mapping(nombre IN VARCHAR2) RETURN Boolean IS
p_from_date DATE;
result INTEGER;
plsql_block VARCHAR2(500);
p_env WB_RT_MAPAUDIT.WB_RT_NAME_VALUES; -- Este es un tipo de datos al cual tiene acceso y permisos el usuario dueño de la función.
Begin
plsql_block := 'BEGIN :res := '||nombre||'(:fech); END;';
EXECUTE IMMEDIATE plsql_block USING OUT result, IN p_from_date, IN p_env;
return result = 0;
End;
Al compilar me da el siguiente error:
PLS-00457: las expresiones deben ser de tipo SQL
Si elimino el parámetro p_env, no me da error. Necesito pasar ese parámetro, cómo puedo hacerlo?
Muchas Gracias a todos
Lis
Pueden ayudarme?
Intento ejecutar la siguiente función:
FUNCTION Ejecutar_Mapping(nombre IN VARCHAR2) RETURN Boolean IS
p_from_date DATE;
result INTEGER;
plsql_block VARCHAR2(500);
p_env WB_RT_MAPAUDIT.WB_RT_NAME_VALUES; -- Este es un tipo de datos al cual tiene acceso y permisos el usuario dueño de la función.
Begin
plsql_block := 'BEGIN :res := '||nombre||'(:fech); END;';
EXECUTE IMMEDIATE plsql_block USING OUT result, IN p_from_date, IN p_env;
return result = 0;
End;
Al compilar me da el siguiente error:
PLS-00457: las expresiones deben ser de tipo SQL
Si elimino el parámetro p_env, no me da error. Necesito pasar ese parámetro, cómo puedo hacerlo?
Muchas Gracias a todos
Lis
