Трябва да използвате SELECT ... INTO
SELECT
...
INTO var_name [, var_name]]
вместо set
за да присвоите резултата от SELECT на променлива. Така че това трябва да стане:
SELECT CASE
WHEN @[email protected] THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vgls<@lgls THEN "vis" END
INTO @st;