我需要在插入时增加下一个最高字符字段 - 例如如果'007'存在,则接下来是'008'
我有一个存储过程:
BEGIN
SELECT LPAD(CAST(MAX(Line_Order) AS SIGNED INTEGER) + 1,3,'0')
FROM bill_project_lineitems
WHERE Item_Id = vItem;
END
然后我有这个触发器:
CALL MaxLineOrder(new.item_id,@new.line_order )
我在之前称之为。
当我尝试INSERT时,MySQL抱怨: 1415 - '不允许从触发器返回结果集'
那么我该如何解决这个问题?
答案 0 :(得分:1)
好的,我又读了一遍,可能我心烦意乱。 (但为什么不粘贴完整代码?)错误很明显,你 CANT 从触发器返回结果集。
我假设您要发布INSERT
并获取结果集。但你不能。所以你应该:
INSERT
移至存储过程DROP
触发器CALL
程序。存储过程可以返回结果集(甚至许多结果集),因此这将起作用。我希望这就是你想要的。