错误代码 1242:子查询返回多于 1 行

时间:2021-07-12 13:27:24

标签: mysql procedure

我在下面的过程中遇到了以下错误,我不知道该怎么做:

错误代码 1242:子查询返回多于 1 行

DELIMITER //

CREATE PROCEDURE NEW_STOCK() 

    BEGIN
        START TRANSACTION;
        SET @SOLD=10; 
        UPDATE MERCHANDISE_SALES 
            SET QUANTITY_SOLD= QUANTITY_SOLD + @SOLD WHERE ID_MERCH='MTOTE1';
        UPDATE MERCHANDISE
            SET STOCK= STOCK -@SOLD WHERE ID_MERCH='MTOTE1';
        UPDATE MERCHANDISE
            SET QUANTITY_SOLD=QUANTITY_SOLD+@SOLD WHERE ID_MERCH='MTOTE1';

        IF (SELECT STOCK FROM MERCHANDISE) > 0  THEN 
        (SELECT MS.QUANTITY_SOLD, M.STOCK, M.QUANTITY_SOLD
         FROM MERCHANDISE 
         INNER JOIN MERCHANDISE_SALES 
         ON MS.ID_MERCH=M.ID_MERCH 
         WHERE ID_MERCH='MTOTE1' LIMIT 1);

        ELSE ROLLBACK;
END IF;
END//
CALL NEW_STOCK();

有人可以帮我吗?

0 个答案:

没有答案