我一直在尝试创建一个函数来生成自定义员工ID,即使创建ID背后的逻辑是正确的,也存在某种语法错误。 我已经创建了一个变量,并在将eid的右侧值转换为整数后为其分配了eid的右侧值,然后将该值加1并再次创建了字符串eid
CREATE FUNCTION `new_id` ()
RETURNS varchar(50)
BEGIN
set @lastval=(SELECT MAX(cast(right(eid,4)as int)) from employee);
if @lastval IS NULL SET @lastval=0;
RETURN 'ID' +right('0000' + convert (varchar(50),(@lastval+1)),4);
END
我无法创建函数,因为我在第4条语句中遇到语法错误,在该语句中将强制转换为INT显示为语法错误。
答案 0 :(得分:0)
如果您使用MySQL,则可以尝试以下方法:
CREATE FUNCTION `new_id` ()
RETURNS varchar(50)
BEGIN
set @lastval=(SELECT MAX(cast(right(eid,4)as int)) from employee);
if @lastval IS NULL SET @lastval=0;
RETURN 'ID' +right('0000' + convert ((@lastval+1),varchar(50)),4);
END