Не человек SQL вообще. Имейте следующий код, который написал консультант.
Во-первых, он гарантирует, что выбрана только начальная школа - тогда, после BEGIN, если переменная @Term равна 3, мы хотим сделать материал в этом выражении IF. Вот проблема. Когда @Term не = 3, мы все равно хотим опуститься и сделать часть SECOND INSERT INTO @Classes. FYI - Термин = 3, когда он выполняется, но он не делает оба INSERT - должен ли быть END IF в конце этого раздела "IF @Term = 3" вместо простого END?
IF @SchoolCategoryCode = 'Elem'
--- We now have determined we are processing an elementary school...
BEGIN
---- Only do the following if the variable @Term equals a 3 - if it does not, skip just this first part
IF @Term = 3
BEGIN
INSERT INTO @Classes
SELECT
XXXXXX
FROM XXXX blah blah blah
END <----(Should this be ENDIF?)
---- **always** "fall thru" to here, no matter what @Term is equal to - always do the following INSERT for all elementary schools
INSERT INTO @Classes
SELECT
XXXXXXXX
FROM XXXXXX (more code)
END