通过创建函数

时间:2019-07-25 06:27:22

标签: mysql sql mysql-workbench

enter image description here

我一直在尝试创建一个函数来生成自定义员工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显示为语法错误。

1 个答案:

答案 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