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