CREATE PROCEDURE UpdateSalesToResult(IN SalesDate varchar)
BEGIN UPDATE list_result t
INNER JOIN sales s 
ON t.date_=s.date_ and t.storecode=s.storecode and t.itemcode=s.itemcode
SET t.StockQty=s.ystock,t.SalesQty=s.ysales
WHERE s.date_=SalesDate
 
END;
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')
BEGIN
UPDATE list_result t
INNER JOIN sales s 
ON t.date_=s.date_ an' at line 1
我的目的就是传入一个日期,那么就把SALES表里的两个数据更新到result里面去。

解决方案 »

  1.   

    UPDATE list_result t, sales s 
    SET t.StockQty=s.ystock,t.SalesQty=s.ysales
            WHERE s.date_=SalesDate  and t.date_=s.date_ and t.storecode=s.storecode and t.itemcode=s.itemcode
      

  2.   


    CREATE PROCEDURE UpdateSalesToResult(IN SalesDate varchar)
    BEGIN
     
            UPDATE list_result t
            INNER JOIN sales s 
            ON t.date_=s.date_ and t.storecode=s.storecode and t.itemcode=s.itemcode
            SET t.StockQty=s.ystock,t.SalesQty=s.ysales
            WHERE s.date_=SalesDate
      
    END;
    变成CREATE PROCEDURE UpdateSalesToResult(IN SalesDate varchar)
    BEGIN
     
            UPDATE list_result t
            INNER JOIN sales s 
            ON t.date_=s.date_ and t.storecode=s.storecode and t.itemcode=s.itemcode
            SET t.StockQty=s.ystock,t.SalesQty=s.ysales
            WHERE s.date_=SalesDate;
      
    END
    就好啦