数据库A中大约存放5千条记录,数据库B中大约存放500万条记录。数据库A与数据库B中均有t_user,t_password,t_usr_pwd表,
t_user表有user_index,user_name字段,
t_password表有password_index,password字段,
t_user_pwd表有user_index,password_index字段。
_数据库B中所有的password每隔一段时间都会随机变化一次,每隔30分钟时间做一次检查,修改数据库A中与数据库B中user_name字段相同的用户的user_password。
本人是技术菜鸟,想知道这个该如何写一段C/C++的小程序实现它,求解!
如果这个小程序是linux下执行的, 为什么不用Python写这个小程序, 然后放到crontab里定时执行呢.
同是C/C++, 我写脚本一般是Python或者shell.
言归正传, 我不知道你这个怎么写. 不同的业务场景, 潜规则不同. 比如在数据库A和数据B, 同一个user_name对应的user_index是不是一样, 同一个user_index对应的password_index是不是一样.
不知道上面的, 很难写出较优的SQL语句.
个人觉得, 写烂的SQL语句, 是在犯罪.
如果都是在数据库层面可以尝试使用触发器来解决,在表t_password中增加触发器,当password字段update时触发修改数据库A中的相关字段
SQL语句大概长这样 将AB表连接然后循环更新 , 然后C/C++语言写个定时器定时调用SQL语句???(抛砖引玉。。)
BEGIN
FOR i IN (SELECT t_user, t_password FROM A, B WHERE A.t_user = B.t_user) LOOP
UPDATE B SET t_password = i.t_password WHERE t_user = i.t_user;
COMMIT;
END LOOP;
END;