肯定得用varchar
类型的字段了。
delimiter
&&
CREATE
TRIGGER
tr_orders_id
BEFORE
INSERT
ON
orders
FOR
EACH
ROW
BEGIN
declare
n
int
select
IFNULL(max(right(orders_id,4)),0)
into
n
from
orderswhere
mid(orders_id,1,8)=DATE_FORMAT(CURDATE(),'%Y%m%d')
set
NEW.orders_id=concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),right(10001+n,4))
END&&
CREATE PROCEDURE `pmp`.`GetSerialNumber` (out serialNo VARCHAR(3))BEGIN
SELECT @cnt:=count(*) FROM Seek where Year = YEAR(CURRENT_DATE())
if (@cnt >0) then
update Seek SET SeekNo=SeekNo+1 WHERE Year=YEAR(CURRENT_DATE())
Else
INSERT INTO Seek(Year,SeekNo) values (YEAR(CURRENT_DATE()),0)
end if
SELECT SeekNo-1 into serialNo From Seek where Year=YEAR(CURRENT_DATE())
SELECT serialNo
END
你是要改逻辑需求呢?
还是单单帮你修改语句中的语法错误呢?(我上面只仅帮你修改了你的语法错误)
请把问题说清楚点 或hi我详说
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)