G-2340: Always define your VARCHAR2 variables using CHAR SEMANTIC (if not defined anchored).
Minor
Reliability
Reason
Changes to NLS_LENGTH_SEMANTICS
will only be picked up by your code after a recompilation.
In a multibyte environment a VARCHAR2(50)
definition may not necessarily hold 50 characters, when multibyte characters a part of the value that should be stored unless the definition was done using the char semantic.
Additionally, business users never say last names should be 50 bytes in length.
Example (bad)
1 2 3 4 |
|
Example (good)
1 2 3 4 |
|