DECLARE workval bigint(20);
以降 行は最初にセミコロンが付いている行ですが、機能コードを入力する前に区切り文字を変更するのを忘れたのではないかと思います(ただし、これは使用しているクライアントによって異なります)。
コードを次のように変更してみてください:
DELIMITER #
CREATE FUNCTION nextval (seq_name varchar(100))
...
END#
DECLARE workval bigint(20);
以降 行は最初にセミコロンが付いている行ですが、機能コードを入力する前に区切り文字を変更するのを忘れたのではないかと思います(ただし、これは使用しているクライアントによって異なります)。
コードを次のように変更してみてください:
DELIMITER #
CREATE FUNCTION nextval (seq_name varchar(100))
...
END#