【发布时间】:2009-12-09 08:48:25
【问题描述】:
我有一个包含两列的表(在 ORADB 中):VARCHAR 唯一键和从序列生成的 NUMBER 唯一键。
每当获得新的 VARCHAR 键时,我需要我的 Java 代码不断(并行地)向该列添加记录,返回新生成的 NUMBER 键。或者在获取现有的 VARCHAR 时返回现有的 NUMBER 键(它不会插入它,这当然会由于 uniq 键冲突而引发异常)。
这样的过程将由许多并行工作的 (Java) 客户端执行。
希望我的英语是可以理解的:)
最好的方法是什么(可能使用 PL/SQL 块而不是 Java 代码...)?
【问题讨论】:
-
你对先尝试 INSERT 新记录,而不是在之前抛出异常时执行 SELECT 而不是?
-
取决于您认为哪种情况更频繁。我假设你会更频繁地检索现有的单词而不是添加现在的单词。如果您主要是添加新的,那么可以,请先尝试 INSERT。
标签: java oracle jdbc key unique-key