【发布时间】:2018-04-19 11:01:41
【问题描述】:
我正在使用以下语句来创建包含数据的重复表。但我很想知道这个语句是否保留了 new_table 中 old_table 的列顺序。由于我需要稍后使用 MINUS 语句比较 2 个表的一些列数据。
CREATE TABLE new_table
AS
SELECT *
FROM old_table
下面是用于比较的减号语句。在以下语句中,cols 是从 ALL_TAB_COLUMNS 元数据表中查询的。
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 中?
【问题讨论】:
标签: sql oracle select compare create-table