我正在为我的客户构建系统更新功能,客户端拖拽并删除xls表(导出表单SAP),该查询基本上TRUNCATES
import_table
中的现有“项目数据”并且从xls插入所有项目数据,现在工作正常,但我需要帮助的是编写一个存储过程,从project_number
中选择import_table
并检查是否{{1}已存在于project_number
中,如果它不存在,则按project_table
从import_table
插入新项目数据。
到目前为止我所拥有的:
project_number
答案 0 :(得分:1)
如果我理解正确,那么您可以使用WHERE
子句进行检查:
CREATE DEFINER=`root`@`%` PROCEDURE `update_projects`()
BEGIN
INSERT INTO `db`.`project_table` (project_table columns...)
SELECT import_table columns...
FROM db.import_table i
WHERE NOT EXISTS (SELECT 1
FROM db.project_table pt
WHERE i.project_number = pt.project_number
)
END;
如果问题重复project_number
s,那么您应该定义一个唯一约束/索引并让数据库验证数据。