在Oracle中的表中存储和检索值不一致

时间:2013-12-18 23:24:30

标签: oracle

我面临一个奇怪的问题。我在oracle DB中有一个表(observation_measurement),它有很多字段。一个字段名称是observation_name。此observation_name字段使用文本文件中的值存储不同的度量值。 例如,observation_name存储四个测量值a,b,c,d(测量值的名称)及其对应值1,2,3,4(这些测量值)。

后来它正在读取相同的文本文件。这次文本文件有三个测量a,b,d(c不存在),它们的值是7,8,9,然后存储在表中。所以,如果我需要所有observation_names的最新值,那么我应该得到a = 7,b = 8,c = null,d = 9。但是它给了我 一个= 7,B = 8,的 C = 3 下,d = 9。我不知道为什么它会得到用于c测量的旧数据。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

NULL必须在Oracle中专门处理,例如IS NULLIS NOT NULL。 希望,您的更新逻辑涉及对列的一些验证,并且未处理NULL值。

由于NULL导致某些验证失败,因此旧值将保留在表中。 您能否使用UPDATE表中的查询来更新您的问题。