Sinds de DECLARE workval bigint(20);
regel de eerste is met een puntkomma aan het einde, ik vermoed dat u bent vergeten het scheidingsteken te wijzigen voordat u de functiecode invoerde (hoewel dit afhangt van de client die u gebruikt).
Probeer uw code te wijzigen in:
DELIMITER #
CREATE FUNCTION nextval (seq_name varchar(100))
...
END#