【发布时间】:2015-06-12 16:52:53
【问题描述】:
我有一张表,里面有我需要在 cron 上合并更新的实体(人员、公司等)。批量这样做很重要,因为两个数据集都是任意大的(我发现一次一个需要数年时间)。两端都带有我需要检查的 ExternalIdentifer (EXID)。一直以来,任何 INSERT 都需要包含我的框架服务器提供的内部 ID(整数)。如有必要,我可以保证这些 ID 是连续的整数。
逻辑如下:
- 如果 EXID 存在,则直接对其执行 UPDATE。
- 否则,
- 如果 EntityName 存在,则执行 UPDATE 否则,使用 ID 执行 INSERT 由框架服务器提供
简化的表格列(请原谅我缺乏格式知识)
列名 |数据类型
- “实体名称”| “性格不同”
- “外部标识符”| “性格不同”
被更新的表也有框架提供的内部ID:
- “实体标识”| “整数”
所以问题归结为,有没有一种快速的方法可以使用框架提供的 ID 批量执行此操作?
编辑:这是通过从 Java 执行的 SQL 完成的。我更喜欢主要在 SQL 中执行此操作,但部分可以在 Java 中完成。
【问题讨论】:
标签: sql postgresql