Passing by Reference and Value
In this video, Steven explains the difference between passing a parameter by reference (which happens by default with IN parameters) and passing by value (which happens by default with OUT and IN OUT parameters).
The NOCOPY parameter hint tells the PL/SQL compiler to pass OUT and IN-OUT parameters "by reference" (meaning: do not copy in, nor copy out). The result is better performance and reduced PGA consumption.
In this video, Steven demonstrates how use of NOCOPY coupled with an unexpected termination of a subprogram with an unhanded exception can leave your IN OUT actuals partially modified - and not to be trusted!
The NOCOPY parameter hint can improve performance of subprograms with OUT and IN OUT parameters. Compile-time warnings help you identify opportunities for NOCOPY.