G-7810: Never use SQL inside PL/SQL to read sequence numbers (or SYSDATE).
Major
Efficiency, Maintainability
Reason
Since ORACLE 11g it is no longer needed to use a SELECT statement to read a sequence (which would imply a context switch).
Example (bad)
1 2 3 4 5 6 7 8 | declare l_sequence_number employees.emloyee_id%type; begin select employees_seq.nextval into l_sequence_number from dual; end; / |
Example (good)
1 2 3 4 5 6 | declare l_sequence_number employees.emloyee_id%type; begin l_sequence_number := employees_seq.nextval; end; / |