将存储过程中调用API的部分替换为在触发器中调用API,以避免在存储过程中使用@@IDENTITY。示例代码如下:
CREATE TRIGGER TRIGGER_NAME AFTER INSERT ON TABLE_NAME FOR EACH ROW BEGIN DECLARE var1 INT; /* 获取插入行的ID,使用DECLARE语句声明变量存储 / SET var1 = NEW.ID; / 调用API */ CALL API_NAME(var1); END;
而存储过程中的代码可以改写为:
CREATE PROCEDURE PROCEDURE_NAME BEGIN DECLARE var1 INT; /* 调用API */ CALL API_NAME(var1); END;
这种方法可以解决在存储过程中使用@@IDENTITY导致的问题。