В T-SQL Begin и END должны обернуть содержащиеся операторы IF (или другой управляющей структуры) несколькими выполняемыми операторами (например, блоком кода)
будет работать
if @someParameter <> 'ThisType'
set @someCode = right(cast(@pYear as varchar(6)),2) + 'THIS'
Также будет работать, но не обязательно
if @someParameter <> 'ThisType'
Begin
set @someCode = right(cast(@pYear as varchar(6)),2) + 'THIS'
End
Будет работать как ожидалось
if @someParameter <> 'ThisType'
Begin
set @someCode = right(cast(@pYear as varchar(6)),2) + 'THIS'
{...do other stuff}
End
Не будет работать должным образом (если вы ожидали, что оба оператора будут выполняться только при условии, что для меня задано условие IF)
if @someParameter <> 'ThisType'
set @someCode = right(cast(@pYear as varchar(6)),2) + 'THIS'
{...do other stuff}
Нет семантического значения
Begin --without wrapping control structure
{...stuff}
End