Which two conditions must be true for a PL/SQL function to be result cached? (Choose two.)
A.
It must be part of a package.
B.
It must be a pipelined table function.
C.
It must not be defined in an anonymous block.
D.
It must have at least one OUT or IN OUT parameter.
Only “C” is correct.
“D” is wrong answer.
https://docs.oracle.com/cd/E18283_01/appdev.112/e17126/subprograms.htm#g3335204
D) is incorrect, function with IN OUT formal paramter cannot be result cached.
Actiilay there are many constraints on function result cache like IN paremeter with TYPE collection, body contains invocation on sequence/temporary table/dictionary/indeterninistic function …