-- 仓储表 C_* → c_*(小写前缀,对齐 t_* 命名风格) -- 可重复执行:源表不存在或目标表已存在则跳过 DROP PROCEDURE IF EXISTS sp_rename_warehouse_table_if_needed; DELIMITER $$ CREATE PROCEDURE sp_rename_warehouse_table_if_needed(IN old_name VARCHAR(128), IN new_name VARCHAR(128)) BEGIN IF EXISTS ( SELECT 1 FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = old_name ) AND NOT EXISTS ( SELECT 1 FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = new_name ) THEN SET @ddl := CONCAT('RENAME TABLE `', old_name, '` TO `', new_name, '`'); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END$$ DELIMITER ; CALL sp_rename_warehouse_table_if_needed('C_sku', 'c_sku'); CALL sp_rename_warehouse_table_if_needed('C_bin_location', 'c_bin_location'); CALL sp_rename_warehouse_table_if_needed('C_inventory', 'c_inventory'); CALL sp_rename_warehouse_table_if_needed('C_inbound_notice', 'c_inbound_notice'); CALL sp_rename_warehouse_table_if_needed('C_inbound_box', 'c_inbound_box'); CALL sp_rename_warehouse_table_if_needed('C_inbound_box_line', 'c_inbound_box_line'); CALL sp_rename_warehouse_table_if_needed('C_parcel', 'c_parcel'); CALL sp_rename_warehouse_table_if_needed('C_parcel_arrival', 'c_parcel_arrival'); CALL sp_rename_warehouse_table_if_needed('C_parcel_item', 'c_parcel_item'); CALL sp_rename_warehouse_table_if_needed('C_sku_platform_map', 'c_sku_platform_map'); DROP PROCEDURE IF EXISTS sp_rename_warehouse_table_if_needed;