== Why is this an issue?

Shared coding conventions allow teams to collaborate efficiently. This rule checks that all cursor names match the provided regular expression.


=== Noncompliant code example

With the default regular expression, ``++[a-zA-Z]([a-zA-Z0-9_]*[a-zA-Z0-9])?++``:

[source,sql]
----
CREATE TABLE employee(
  name VARCHAR2(42)
);

DECLARE
  CURSOR myCursor_ RETURN employee%ROWTYPE; -- Noncompliant

  CURSOR myCursor_ RETURN employee%ROWTYPE IS SELECT * FROM employee; -- Noncompliant
BEGIN
  NULL;
END;
/

DROP TABLE employee;
----


=== Compliant solution

[source,sql]
----
CREATE TABLE employee(
  name VARCHAR2(42)
);

DECLARE
  CURSOR myCursor RETURN employee%ROWTYPE;

  CURSOR myCursor RETURN employee%ROWTYPE IS SELECT * FROM employee;
BEGIN
  NULL;
END;
/

DROP TABLE employee;
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Rename this cursor to match the provided regular expression: xxx


=== Parameters

.regexp
****

----
[a-zA-Z]([a-zA-Z0-9_]*[a-zA-Z0-9])?
----

The regular expression the name should match.
****


endif::env-github,rspecator-view[]
