Stored procedures 具有回滚功能的存储过程修改

Stored procedures 具有回滚功能的存储过程修改,stored-procedures,rollback,Stored Procedures,Rollback,我有以下问题,有人能帮我解决吗 “-修改submitor()存储过程以接收第四个参数store_id并使用事务 将收到的门店标识分配给创建的订单 插入订单项目和订单行后,验证请求的存储是否有请求的产品和数量的库存,如果没有,则回滚事务并返回订单id-1。” 以下是原始代码: 创建过程提交者(在customerID内、在productID内、在数量内、在外订单ID内) BEGIN DECLARE tp_storeid INT; DECLARE staffid_2 INT;

我有以下问题,有人能帮我解决吗

“-修改submitor()存储过程以接收第四个参数store_id并使用事务

  • 将收到的门店标识分配给创建的订单
  • 插入订单项目和订单行后,验证请求的存储是否有请求的产品和数量的库存,如果没有,则回滚事务并返回订单id-1。”
以下是原始代码:

创建过程提交者(在customerID内、在productID内、在数量内、在外订单ID内)

BEGIN

    DECLARE tp_storeid INT;
    DECLARE staffid_2 INT;
    DECLARE OrderID_2 INT;

    SELECT sk.store_id 
    FROM stocks AS sk
    INNER JOIN stores AS st
    ON sk.store_id = st.store_id
    WHERE sk.product_id = productID
    ORDER BY sk.quantity DESC
    LIMIT 1
    INTO tp_storeid;

    SELECT staff_id
    FROM staffs
    WHERE store_id = tp_storeid
    LIMIT 1
    INTO staffid_2;
    
    SELECT list_price
    FROM products
    WHERE product_id = productID
    LIMIT 1
    INTO listPrice;

    SELECT MAX(order_id)+1
    FROM orders
    INTO OrderID_2;

    SET orderId = OrderID_2;

    INSERT INTO order_items
    VALUES (OrderID_2, 1, productID, qty, listPrice,0);

    INSERT INTO orders (order_id, customer_id, order_status, order_date, required_date, staff_id, store_id)
    VALUES (OrderID_2, customerId, 1, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 1 WEEK), staffid_2, tp_storeid);

END