45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
Unused cursor parameters are misleading. Whatever the values passed to such parameters, the behavior will be the same.
|
||
|
||
|
||
== Noncompliant Code Example
|
||
|
||
----
|
||
cursor c_list_emp(pp_country varchar2, pp_status varchar2) is -- Noncompliant pp_status is not used
|
||
select e.employee_code,
|
||
p.first_name,
|
||
p.last_name,
|
||
e.country
|
||
from persons p,
|
||
join employee_list e on e.person_id = p.person_id
|
||
where e.country = pp_country;
|
||
----
|
||
|
||
|
||
== Compliant Solution
|
||
|
||
----
|
||
cursor c_list_emp(pp_country varchar2, pp_status varchar2) is
|
||
select e.employee_code,
|
||
p.first_name,
|
||
p.last_name,
|
||
e.country
|
||
from persons p,
|
||
join employee_list e on e.person_id = p.person_id
|
||
where e.country = pp_country
|
||
and e.status_code = pp_status; -- use the parameter
|
||
----
|
||
or
|
||
|
||
----
|
||
cursor c_list_emp(pp_country varchar2) is -- Remove the parameter
|
||
select e.employee_code,
|
||
p.first_name,
|
||
p.last_name,
|
||
e.country
|
||
from persons p,
|
||
join employee_list e on e.person_id = p.person_id
|
||
where e.country = pp_country;
|
||
----
|
||
|
||
|