{"title":"MySQL存储过程:同步cubicscanner_to_wms数据到其他IP数据库","description":"本教程展示了如何使用MySQL存储过程将cubicscanner_to_wms数据从源IP 10.23.60.218同步到目标IP 10.20.8.141的MySQL数据库中,并提供了详细代码示例。","keywords":"MySQL, 存储过程, 数据同步, cubicscanner_to_wms, 数据库, 源IP, 目标IP","content":"可以将cubicscanner_to_wms 数据从源IP 10.23.60.218 同步到目标IP 10.20.8.141 的MySQL数据库中。下面是一个完整示例:\n\n1. 在目标IP 10.20.8.141 的MySQL数据库中创建存储过程 sp_copy_arch_cubicscanner_to_wms,代码如下:\n\nCREATE DEFINER=`wmsop`@`10.20.8.141` PROCEDURE `sp_copy_arch_cubicscanner_to_wms` (\nIN old_table VARCHAR(50),\nIN new_table VARCHAR(50),\nIN sync_table VARCHAR(50),\nIN record_type VARCHAR(50)\n)\nBEGIN\n SET @old_table := old_table; -- 数量来源表\n SET @new_table := new_table; -- 数据目的表\n SET @sync_table := sync_table; -- 同步表\n SET @record_type := record_type; -- 同步标识\n SET @last_sync_date_time := \"1970-01-01 00:00:01\" ;\n\n -- 获取最新同步时间\n SET @get_sync_time_sql := CONCAT(\"SELECT @last_sync_date_time:= IFNULL(MIN(lastSyncDateTime),@last_sync_date_time) \n FROM \",@sync_table,\" WHERE recordType = @record_type\");\n PREPARE get_sync_time_sql FROM @get_sync_time_sql; \n -- 批量插入新表数据\n SET @insert_new_table_sql := CONCAT(\"replace into \",@new_table,\" \n SELECT * FROM \",@old_table,\" WHERE lastUpdateData >= @last_sync_date_time LIMIT 1000\n \");\n PREPARE insert_new_table_sql FROM @insert_new_table_sql; \n -- 更新同步后数据时间\n SET @update_new_table_sql := CONCAT(\"SELECT @last_sync_date_time := IFNULL(MAX(lastUpdateData) ,@last_sync_date_time) \n FROM \",@new_table,\" WHERE lastUpdateData >= @last_sync_date_time\");\n PREPARE update_new_table_sql FROM @update_new_table_sql; \n -- 更新sync时间\n SET @update_sync_time_sql := CONCAT(\"replace into \",@sync_table,\" (recordType, lastSyncDateTime) VALUES (@record_type, @last_sync_date_time)\");\n PREPARE update_sync_time_sql FROM @update_sync_time_sql; \n\n EXECUTE get_sync_time_sql;\n EXECUTE insert_new_table_sql; \n EXECUTE update_new_table_sql; \n EXECUTE update_sync_time_sql; \n\n update lvmhpc_temp_wms_prod.cubicscanner_to_wms set WMS_READ=0 where WMS_READ=1;\nEND\n\n\n2. 在源IP 10.23.60.218 的MySQL数据库中执行以下代码,将存储过程中的数据同步到目标IP 10.20.8.141 的数据库:\n\nsql\n-- 创建目标数据库连接\nCREATE DATABASE IF NOT EXISTS target_database;\nUSE target_database;\n-- 创建目标数据表\nCREATE TABLE IF NOT EXISTS target_table LIKE target_database.new_table;\n\n-- 创建目标存储过程\nDELIMITER ;;\nCREATE PROCEDURE sp_copy_arch_cubicscanner_to_wms_target()\nBEGIN\n CALL sp_copy_arch_cubicscanner_to_wms('`wms`.`arch_cubicscanner_to_wms`', 'target_database.target_table', 'sync_table', 'arch_cubicscanner_to_wms');\nEND;;\nDELIMITER ;\n\n-- 连接到目标数据库\nUSE target_database;\n\n-- 执行目标存储过程\nCALL sp_copy_arch_cubicscanner_to_wms_target();\n\n\n这样,cubicscanner_to_wms 数据将被同步到目标IP 10.20.8.141 的MySQL数据库中的 target_database.target_table 表中。请根据实际情况修改目标数据库名称、目标数据表名称和同步表名称。

MySQL存储过程:同步cubicscanner_to_wms数据到其他IP数据库

原文地址: https://www.cveoy.top/t/topic/psOj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录