== Why is this an issue? The ``++CASE++`` statement should be used only to clearly define some new branches in the control flow. As soon as a ``++WHEN++`` clause contains too many statements this highly decreases the readability of the overall control flow statement. In such case, the content of ``++WHEN++`` clause should be extracted in a dedicated function. === Noncompliant code example [source,sql] ---- CASE my_variable WHEN 0 THEN -- 6 lines till next WHEN procedure1; procedure2; procedure3; procedure4; procedure5; WHEN 1 THEN -- ... END CASE; ---- === Compliant solution [source,sql] ---- DECLARE PROCEDURE do_something AS BEGIN procedure1; procedure2; procedure3; procedure4; procedure5; END; BEGIN CASE my_variable WHEN 0 THEN do_something; WHEN 1 THEN -- ... END CASE; END; / ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] include::../parameters.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]