No puede usar case
como control de flujo. Un case
de SQL es una expresión que devuelve un valor escalar basado en la(s) condición(es).
Está bien documentado en observaciones
sección:
Un código de trabajo se escribiría así:
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
Tenga en cuenta que estoy usando la sintaxis de la expresión CASE simple por razones de brevedad.