67 lines
2.5 KiB
SQL
67 lines
2.5 KiB
SQL
-- ==========================================
|
|
-- 修复 delivery 表触发器
|
|
-- 删除引用 car_number 的触发器
|
|
-- ==========================================
|
|
|
|
USE cattletrade;
|
|
|
|
-- ==========================================
|
|
-- 步骤 1: 查看触发器完整定义
|
|
-- ==========================================
|
|
SELECT '步骤1: 查看触发器完整定义' as '执行步骤';
|
|
|
|
SHOW CREATE TRIGGER trg_delivery_fill_from_driver;
|
|
|
|
-- ==========================================
|
|
-- 步骤 2: 备份当前触发器定义(复制输出保存)
|
|
-- ==========================================
|
|
SELECT '步骤2: 已显示触发器定义,请复制保存备份' as '执行步骤';
|
|
|
|
-- ==========================================
|
|
-- 步骤 3: 删除有问题的触发器
|
|
-- ==========================================
|
|
SELECT '步骤3: 删除引用 car_number 的触发器' as '执行步骤';
|
|
|
|
-- 删除 INSERT 触发器
|
|
DROP TRIGGER IF EXISTS trg_delivery_fill_from_driver;
|
|
|
|
-- 如果有 UPDATE 触发器也删除
|
|
DROP TRIGGER IF EXISTS trg_delivery_fill_from_driver_update;
|
|
|
|
-- ==========================================
|
|
-- 步骤 4: 验证触发器已删除
|
|
-- ==========================================
|
|
SELECT '步骤4: 验证触发器已删除' as '执行步骤';
|
|
|
|
SHOW TRIGGERS WHERE `Table` = 'delivery';
|
|
|
|
-- ==========================================
|
|
-- 步骤 5: 验证是否还有其他触发器引用 car_number
|
|
-- ==========================================
|
|
SELECT '步骤5: 检查是否还有其他触发器引用 car_number' as '执行步骤';
|
|
|
|
SELECT
|
|
TRIGGER_NAME as '触发器名称',
|
|
EVENT_MANIPULATION as '触发事件',
|
|
EVENT_OBJECT_TABLE as '关联表',
|
|
ACTION_STATEMENT as '触发器SQL'
|
|
FROM INFORMATION_SCHEMA.TRIGGERS
|
|
WHERE TRIGGER_SCHEMA = 'cattletrade'
|
|
AND ACTION_STATEMENT LIKE '%car_number%';
|
|
|
|
-- ==========================================
|
|
-- 说明:
|
|
-- 1. 这些触发器的作用是在插入/更新 delivery 时自动从 member_driver 获取信息
|
|
-- 2. 由于司机和车辆现在是独立模块,不再需要这种自动填充
|
|
-- 3. 车辆信息现在由 vehicle 表管理,在 DeliveryServiceImpl 中手动查询
|
|
-- 4. 删除触发器后,重启后端服务即可正常创建运送清单
|
|
-- ==========================================
|
|
|
|
-- ==========================================
|
|
-- 完成后请:
|
|
-- 1. 清理后端 target 目录: Remove-Item -Recurse -Force tradeCattle\target
|
|
-- 2. 重启后端服务
|
|
-- 3. 测试创建运送清单功能
|
|
-- ==========================================
|
|
|