日期:2014-05-16  浏览次数:20633 次

存储过程在mysql5.1有返回但是在5.3或5.5无返回,怎么办?
SQL code


DELIMITER //
CREATE PROCEDURE gennid ()
BEGIN  

DECLARE st VARCHAR(100);
  START TRANSACTION;
    
  IF NOT EXISTS (SELECT 1 FROM order_key) THEN
  SET @sqlstr=CONCAT('insert into order_key select substring(`key`,8) from order', DATE_FORMAT(CURDATE(), '%Y%m'), ' order by id desc limit 1');
  PREPARE st FROM @sqlstr;
  EXECUTE st;
  ELSE   
  UPDATE order_key SET id=id+1;
  END IF;
   SELECT id INTO @iid FROM order_key;
  COMMIT;
END
//



调用是call gennid();

请问怎么能让其在5.3也能返回结果!???

------解决方案--------------------
自己解决好
------解决方案--------------------
引用自己解决 汗是 order那表没数据!