PL/SQL procedure parameters can have one of three possible modes: IN, OUT, or IN OUT. PL/SQL function parameters can only be IN.
Mode property | IN | IN OUT | OUT |
---|---|---|---|
Formal parameter initialized to: | Actual parameter value | Actual parameter value | Actual parameter value |
Formal parameter modifiable by the called program? | No | Yes | Yes |
After normal termination of the called program, actual parameter contains: | Original actual parameter value prior to the call | Last value of the formal parameter | Last value of the formal parameter |
After a handled exception in the called program, actual parameter contains: | Original actual parameter value prior to the call | Last value of the formal parameter | Last value of the formal parameter |
After an unhandled exception in the called program, actual parameter contains: | Original actual parameter value prior to the call | Original actual parameter value prior to the call | Original actual parameter value prior to the call |