注册

存储过程语法错误

坏坏 2022/08/08 843 1 已解决

【DM版本】:v8
【操作系统】:
【CPU】:
【问题描述】*:
创建存储过程,内容如下:
CREATE OR REPLACE
PROCEDURE “FSP”.“NEXT_VAL”
(
seqname in VARCHAR)
AS
seq_rules VARCHAR;
seq_length INT;
seq_max BIGINT;
seq_date_fmt VARCHAR;
max_id_length INT;
max_id VARCHAR;
len INT;
BEGIN
UPDATE seq SET “max” = “max” + “NEXT” WHERE “name” = seqname;
SELECT
rules ,
“length”,
“max” ,
“date_fmt”
INTO
seq_rules ,
seq_length,
seq_max ,
seq_date_fmt
FROM
seq
WHERE
“name” = seqname;
SET max_id = seq_max;
SET max_id_length = CHARACTER_LENGTH(max_id);
SET len = seq_length - max_id_length;
–长度不够补0
WHILE len > 0 DO
SET max_id = CONCAT(“0”, max_id);
SET len = len - 1;
END WHILE;
–替换规则
IF seq_rules IS NOT NULL AND INSTR(seq_rules, “###max_id###”) > 0 THEN
SET seq_rules = REPLACE(seq_rules, “###max_id###”, max_id);
SET max_id = seq_rules;
END IF;
IF seq_rules IS NOT NULL AND INSTR(seq_rules, “###date###”) > 0 AND seq_date_fmt IS NOT NULL THEN
SET max_id = REPLACE(seq_rules, “###date###”, DATE_FORMAT(NOW(), seq_date_fmt));
END IF;
RETURN max_id;
END;

提示[DO]语法分析出错,该如何修改?

回答 0
暂无回答
扫一扫
联系客服