Du måste använda SELECT ... INTO
SELECT
...
INTO var_name [, var_name]]
istället för set
för att tilldela resultatet av en SELECT till en variabel. Så det här borde göra det:
SELECT CASE
WHEN @[email protected] THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vgls<@lgls THEN "vis" END
INTO @st;