我需要帮助:我有来自不同用户的4个车辆记录:
vehicle_id vehicle_name vehicle_number date_update
usr1 10 My Ferrari 1000 NULL
usr2 11 My Ferrari 1000 NULL
usr3 12 My Ferrari 1000 NULL
usr4 13 My Ferrari 1001 NULL
在这条记录中,我想要共同记录,所以,我已经应用了Group By并创建了单独的记录作为我的系统生成的记录
vehicle_id vehicle_name vehicle_number date_update
sys 14 My Ferrari 1000 NULL
现在这是我的条件:
条件1: 3条记录相同,一条不同
如果任何用户更新了他自己的记录,那么系统或脚本也会重新计算或比较所有四个记录并更新我的sys记录中的列
我也在设置记录更新日期。
E.g
vehicle_id vehicle_name vehicle_number date_update
usr1 10 My Ferrari 1000 NULL
usr2 11 My Ferrari 1001 09/03/2018
usr3 12 My Ferrari 1001 09/03/2018
usr4 13 My Ferrari 1001 NULL
所以我的系统记录也得到了更新
vehicle_id vehicle_name vehicle_number date_update
sys 14 My Ferrari 1001 09/03/2018
条件2:此条件下具有相同值的每2条记录需要获取最新的更新记录
E.g
vehicle_id vehicle_name vehicle_number date_update
usr1 10 My Ferrari 1002 09/03/2018 8:55 AM
usr2 11 My Ferrari 1001 09/03/2018 7:55 AM
usr3 12 My Ferrari 1001 09/03/2018 7:30 AM
usr4 13 My Ferrari 1002 09/03/2018 8:57 AM
所以我的系统记录也得到了更新
vehicle_id vehicle_name vehicle_number date_update
sys 14 My Ferrari 1002 09/03/2018
条件3:每条记录都包含不同记录,需要获取最新的更新记录
E.g
vehicle_id vehicle_name vehicle_number date_update
usr1 10 My Ferrari 1001 09/03/2018 8:55 AM
usr2 11 My Ferrari 1003 09/03/2018 7:55 AM
usr3 12 My Ferrari 1004 09/03/2018 7:30 AM
usr4 13 My Ferrari 1005 09/03/2018 8:57 AM
所以我的系统记录也得到了更新
vehicle_id vehicle_name vehicle_number date_update
sys 14 My Ferrari 1005 09/03/2018
那么处理存储过程中所有三个条件并相应更新我的Sys记录的最佳方法是什么?
谢谢。
答案 0 :(得分:0)
总结你的问题..在所有三个条件中,sys记录总是最近由用户更新的记录。
Sol:使用insert和update触发器。 SP不会在这里解决你的问题。
在该触发器脚本中,使用按日期修改为键列的顺序来获取最新的带有dense_rank的vaule,以评估多个值的最新记录。
希望这能解决你的问题