Devi usare SELECT ... INTO
SELECT
...
INTO var_name [, var_name]]
invece di set
per assegnare il risultato di una SELECT a una variabile. Quindi questo dovrebbe farlo:
SELECT CASE
WHEN @[email protected] THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vgls<@lgls THEN "vis" END
INTO @st;