提交作业请点击:

    https://www.yuque.com/forms/share/c194f63e-b78b-4b01-a6d5-92188aba079c

    《数据库技术》技能考核方案.docx

    auction1.sql

    1. -- 任务七:使用事务逻辑定义存储过程,
    2. -- 删除物品“九阳豆浆机”及其竞价记录信息(20分)
    3. DROP PROCEDURE IF EXISTS proc_item;
    4. CREATE PROCEDURE proc_item(item_Name VARCHAR(50))
    5. COMMENT '删除物品及其竞价记录信息'
    6. BEGIN
    7. DECLARE item_ID int ;
    8. DECLARE EXIT HANDLER FOR SQLSTATE '45000' ROLLBACK; -- 事务回滚
    9. SELECT itemID FROM items WHERE itemName = item_Name INTO item_ID;
    10. -- 开启事务模式
    11. START TRANSACTION ;
    12. -- 1.删除竞价记录
    13. DELETE FROM bid WHERE itemID = item_ID;
    14. -- 若不成功,回滚
    15. IF ROW_COUNT()=0 THEN
    16. SIGNAL SQLSTATE '45000' SET message_text = '无数据!' ;
    17. END IF;
    18. -- 2.删除物品
    19. DELETE FROM items WHERE itemID = item_ID;
    20. -- 若不成功,回滚
    21. IF ROW_COUNT()=0 THEN
    22. SIGNAL SQLSTATE '45000' SET message_text = '无数据!' ;
    23. END IF;
    24. -- 以上两个操作都成功,则提交事务
    25. COMMIT ;
    26. END;
    27. -- 调用存储过程,删除九阳豆浆机
    28. CALL proc_item('九阳豆浆机');