我必须使用Java POI将一些excel文件批量导入Oracle数据库。 Java程序非常简单,只需使用JDBC来惰化它们。
但是当我检查表时,我发现数据的物理顺序发生了变化。例如,我导入这样的数据:
S/N Name
S0001 Name1
S0002 Name2
S0003 Name3
S0004 Name4
S0005 Name5
S0006 Name6
.....
,表格就是这样:
S/N Name
S0001 Name1
S0003 Name3
S0004 Name4
S0002 Name2
S0006 Name6
S0005 Name5
.....
以前有人有同样的奇怪问题吗?
答案 0 :(得分:8)
堆组织表本质上是无序的。除非您的查询指定ORDER BY子句,否则Oracle可以按其选择的顺序自由返回数据。无论插入顺序如何,都可以按任意顺序物理存储数据。
如果您关心数据的返回顺序,可以添加适当的ORDER BY
,
SELECT serial_number, name
FROM your_table_name
ORDER BY serial_number