提交作业请点击:
https://www.yuque.com/forms/share/c194f63e-b78b-4b01-a6d5-92188aba079c
-- 任务七:使用事务逻辑定义存储过程,-- 删除物品“九阳豆浆机”及其竞价记录信息(20分)DROP PROCEDURE IF EXISTS proc_item;CREATE PROCEDURE proc_item(item_Name VARCHAR(50))COMMENT '删除物品及其竞价记录信息'BEGINDECLARE item_ID int ;DECLARE EXIT HANDLER FOR SQLSTATE '45000' ROLLBACK; -- 事务回滚SELECT itemID FROM items WHERE itemName = item_Name INTO item_ID;-- 开启事务模式START TRANSACTION ;-- 1.删除竞价记录DELETE FROM bid WHERE itemID = item_ID;-- 若不成功,回滚IF ROW_COUNT()=0 THENSIGNAL SQLSTATE '45000' SET message_text = '无数据!' ;END IF;-- 2.删除物品DELETE FROM items WHERE itemID = item_ID;-- 若不成功,回滚IF ROW_COUNT()=0 THENSIGNAL SQLSTATE '45000' SET message_text = '无数据!' ;END IF;-- 以上两个操作都成功,则提交事务COMMIT ;END;-- 调用存储过程,删除九阳豆浆机CALL proc_item('九阳豆浆机');
