Why is this an issue?
Shared coding conventions allow teams to collaborate efficiently. This rule checks that cursor parameters match the provided regular
expression.
Noncompliant code example
With the default regular expression [a-zA-Z]([a-zA-Z0-9_]*[a-zA-Z0-9])?
:
CREATE TABLE employee(
name VARCHAR2(42)
);
DECLARE
CURSOR mycursor2(Employee-name-parameter_ VARCHAR2) RETURN employee%ROWTYPE; -- Noncompliant
CURSOR mycursor2(Employee-name-parameter_ VARCHAR2) RETURN employee%ROWTYPE IS SELECT * FROM employee WHERE name = Employee-name-parameter_; -- Noncompliant
BEGIN
NULL;
END;
/
DROP TABLE employee;
Compliant solution
CREATE TABLE employee(
name VARCHAR2(42)
);
DECLARE
CURSOR mycursor2(employeeNameParameter VARCHAR2) RETURN employee%ROWTYPE;
CURSOR mycursor2(employeeNameParameter VARCHAR2) RETURN employee%ROWTYPE IS SELECT * FROM employee WHERE name = employeeNameParameter;
BEGIN
NULL;
END;
/
DROP TABLE employee;