【发布时间】:2010-09-17 09:12:33
【问题描述】:
我正在编写 SQL(用于 Oracle),例如:
INSERT INTO Schema1.tableA SELECT * FROM Schema2.tableA;其中 Schema1.tableA 和 Schema2.tableA 具有相同的列。但是,这似乎是不安全的,因为在 SELECT 中返回的列的顺序是未定义的。我应该做的是:
插入到 Schema1.tableA (col1, col2, ... colN) 从 Schema2.tableA 中选择 (col1, col2, ... colN);我正在使用一些脚本为很多表执行此操作,所以我想做的是编写如下内容:
插入到 Schema1.tableA (foo(Schema1.tableA)) 从 Schema2.tableA 中选择(foo(Schema1.tableA));其中 foo 是一个漂亮的魔法,它从表一中提取列名并将它们打包成适当的语法。想法?
【问题讨论】: