Ans: Following demonstrates the difference between packaged procedure and standalone procedure.
Break the dependency chain with package – No cascading invalidations when you install a new package body.
If you have procedures that call other procedures, compiling one will invalidate the dependent procedures/functions in the database.
Package support function/procedures overloading – Package names have to be unique in a schema, but we can have many procedures across packages with the same name without colliding. Standalone procedures/ functions can not be overloaded.
Support of public and private members – Packages allow declaration of public and private procedures, variables, constants, and cursors.
Objects declared within Standalone procedures are local to the calling block.
Performance Improvement – An entire package is loaded into memory when a procedure within the package is called for the first time. This load is completed in one operation, as opposed to the separate loads required for standalone procedures. Therefore, when calls to related packaged procedures occur, no disk I/O is necessary to execute the compiled code already in memory.