MySQL存储过程,提示语法错误,谁能帮我瞧瞧,这个不太熟
CREATE PROCEDURE Pro_GetSerialNumber(IN IN_Code VARCHAR(100),IN IN_TimeFlag VARCHAR(20),OUT OUT_Number INT)
BEGIN
DECLARE CurTKey INT,NextTKey INT,RowCount INT
START TRANSACTION
SELECT SN_Number,COUNT(*) INTO CurTKey,RowCount
FROM SerialNumber WITH (UPDLOCK)--采用更新锁,并保持到事务完成
WHERE SN_Code=IN_Code AND SN_TimeFlag=IN_TimeFlag
IF RowCount=0 THEN
INSERT INTO SerialNumber VALUES(IN_Code,IN_TimeFlag,1)
SET NextTKey=1
ELSE
SET NextTKey=CurTKey+1
UPDATE SerialNumber
SET SN_Number=NextTKey
WHERE SN_Code=IN_Code AND SN_TimeFlag=IN_TimeFlag--此处无需验证TKey是否与SELECT的相同
END IF
COMMIT
SET OUT_Number=NextTKey
END