运行DB2的自定义函数出现问题,求教

最近在学DB2,碰到自定义函数,但是有错误,网上查了,一脸懵逼。希望来个大神帮我补补课

CREATE OR REPLACE FUNCTION "F_GET_MAX_KEY" ("IC_NAME" VARCHAR(255) )
  RETURNS VARCHAR(255)
BEGIN
  /**
  描述:根据序列生成表的流水主键
  参数:IC_NAME:标识名(忽略大小写).
       'SHORT':YYMMDD+序列SEQ_MAXKEY值;
       'LONG':YYYYMMDDHHMISSFF3+序列SEQ_MAXKEY值;
       其他:YYYYMMDDHHMISS+序列SEQ_MAXKEY值;
  **/
  DECLARE RESULTSTR VARCHAR (255) DEFAULT '';
  SET IC_NAME = UPPER(IC_NAME) ;
  IF UPPER(IC_NAME) = 'SHORT' THEN
      SELECT TO_CHAR (CURRENT TIMESTAMP, 'YYMMDD') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0')
      INTO RESULTSTR 
      FROM SYSIBM.DUAL;
  ELSEIF UPPER(IC_NAME) = 'LONG' THEN
      SELECT TO_CHAR (CURRENT TIMESTAMP, 'YYYYMMDDHHMISSFF3') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0')
      INTO RESULTSTR
      FROM SYSIBM.DUAL;
  ELSE
      SELECT TO_CHAR (SYSDATE, 'YYYYMMDDHHMISS') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0')
      INTO RESULTSTR
      FROM SYSIBM.DUAL;
  END IF;
  RETURN RESULTSTR;
END;

图片说明

在DBeaver 里运行sql脚本出现如下问题:

图片说明

请问大神,怎么解决?

1个回答

我在DBeaver中新建了一个函数脚本,把函数复制进去, end 后面去掉分号 ,鼠标要把函数全部选中 右击执行 执行sql语句。成功

此问答结束

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问