चूंकि DECLARE workval bigint(20);
लाइन अंत में अर्धविराम के साथ पहला है, मुझे संदेह है कि आप फ़ंक्शन कोड इनपुट करने से पहले डिलीमीटर बदलना भूल गए हैं (हालांकि यह आपके द्वारा उपयोग किए जा रहे क्लाइंट पर निर्भर करता है)।
अपना कोड इसमें बदलने का प्रयास करें:
DELIMITER #
CREATE FUNCTION nextval (seq_name varchar(100))
...
END#