Create Table as Select是否保留Oracle中的列顺序?

时间:2017-11-07 06:22:32

标签: sql oracle select compare create-table

我使用以下语句创建包含数据的重复表。但是我很想知道这个语句是否保留了new_table中old_table的列顺序。因为我需要使用MINUS语句比较2个表的一些列数据。

CREATE TABLE new_table
AS
SELECT *
FROM old_table

以下是用于比较的减号。在以下语句中,从ALL_TAB_COLUMNS元数据表中查询cols。

SELECT COUNT(*) FROM (SELECT cols FROM old_table MINUS (SELECT cols FROM new_table))

以下是按顺序获取列列表的元数据查询。

SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'new_table'
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'old_table'

我的问题,使用上面提到的CREATE TABLE new_table AS SELECT语句复制时,是否在new_table和old_table中都保留了列顺序?

1 个答案:

答案 0 :(得分:2)

是的,新表的列与您的select查询的列完全相同。