在sql developer

时间:2016-02-06 15:49:10

标签: sql oracle oracle11g oracle-sqldeveloper sqlplus

当我在SQL开发人员中使用select *语句时,返回的列的顺序不是表中定义的顺序。如果我在连接窗格中查看表本身,则在列选项卡下,列的顺序正确并且分配了正确的列ID。当其他人使用不同的PC在表上运行查询时,列将以正确的顺序显示。这让我相信这是我的SQL开发人员的一个设置。如果我更正,我该如何更改呢。

EX。列按照列选项卡中的列ID按此顺序排列。当从任何其他PC上对此表执行select *时,显示从左到右的顺序:

1. MESSAGE_ID
2. SOURCE_ID
3. EVENT_ID
4. WHEN_CREATED
5. CONTAINER_ID
6. CONTAINER_TYPE
7. WAVE_NUMBER
8. LOCATION
9. DEST_LOCATION
10. ITEM_NAME
11. BATCH_NUMBER
12. BARCODE
13. CONTAINER_QUANTITY
14. CUBE_VOLUME
15. ORDER_ID
16. PICK_STATUS
17. PICK_PUT_LOCATION
18. ITEM_QUANTITY
19. PICKED_QUANTITY
20. REQUIRED_QUANTITY
21. MOD_DATE
22. USER_ID

但是,当我在我的电脑上的sql developer中从这个表中选择*时,这是它们从左到右显示的顺序:

1. WAVE_NUMBER
2. LOCATION
3. ITEM_NAME
4. BATCH_NUMBER
5. BARCODE
6. CONTAINER_ID
7. CONTAINER_QUANTITY
8. CUBE_VOLUME
9. ORDER_ID
10. PICK_STATUS
11. PICK_PUT_LOCATION
12. ITEM_QUANTITY
13. PICKED_QUANTITY
14. REQUIRED_QUANTITY
15. MOD_DATE
16. USER_ID
17. MESSAGE_ID
18. SOURCE_ID
19. EVENT_ID
20. WHEN_CREATED
21. CONTAINER_TYPE
22. DEST_LOCATION

2 个答案:

答案 0 :(得分:13)

右键点击列标题,然后选择“删除持久设置'

我猜你或你机器上的其他人重新订购了这些列。

这将重置SQL Developer中的任何存储顺序。

Like so...

答案 1 :(得分:0)

在查询中添加空格以中断匹配。我在Oracle Database Express Edition 11.2.0.2.0版中遇到了这个问题,因为我重新定义了一个带有新列顺序的表,并且我在使用SQL Developer版本1.1.3 build MAIN-27.69(包括它)时无法提取新的排序顺序用数据库软件。为我的查询添加空格就可以了。

SELECT * FROM my_tab;
SELECT *  FROM my_tab;