Control structures are code statements that impact the program's control flow (e.g., if statements, for loops, etc.)

== Why is this an issue?

While not technically incorrect, the omission of ``++BEGIN...END++`` can be misleading and may lead to the introduction of errors during maintenance.

In the following example, the two statements seem to be attached to the `IF` statement, but only the first one is, and `somethingElse` will always be executed:

[source,sql]
----
IF @flag = 1 -- Noncompliant
  EXEC something;
  EXEC somethingElse;
----

Adding ``++BEGIN...END++`` improves the code readability and its robustness:

[source,sql]
----
IF @flag = 1
    BEGIN
        EXEC something;
        EXEC somethingElse;
    END;
----

The rule raises an issue when a control structure has no ``++BEGIN...END++``.

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

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

include::../message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

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