我使用以下语句创建包含数据的重复表。但是我很想知道这个语句是否保留了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中都保留了列顺序?
答案 0 :(得分:2)
是的,新表的列与您的select
查询的列完全相同。