43 lines
1.0 KiB
Plaintext
43 lines
1.0 KiB
Plaintext
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[]
|