Você não pode usar
case
como controle de fluxo. Um case
SQL é uma expressão que retorna um valor escalar com base nas condições.Está bem documentado no observações seção:
Um código funcional seria escrito assim:
DECLARE @UNITY VARCHAR(5)
DECLARE @AUX VARCHAR(5)
SET @AUX =
CASE @UNITY
WHEN 'U1' THEN 'M1'
WHEN 'U2' THEN 'M2'
WHEN 'U3' THEN 'M3'
END
Observe que estou usando a sintaxe de expressão Simple CASE para abreviar.