是否可以使用来自不同数据库的SELECT创建表(在我的dev db中)?
我想要类似的东西:
create tmp_table as select * from prod_db.prod_schema.table
是否有语法来执行此操作,还是需要先创建数据库链接?
答案 0 :(得分:11)
您必须先创建数据链接。
除非创建了数据库链接,否则Oracle无法查询其他数据库。如果存在数据库链接,正如您所说,您必须执行以下操作:
create tmp_table as select * from prod_schema.table@prod_db
答案 1 :(得分:3)
@Steve是正确的,必须有一个DB Link,但语法是:
create tmp_table as select * from table@dblink
答案 2 :(得分:1)
不要忘记创建索引。您可以使用如下查询为模式中的所有表获取此信息:
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u;
答案 3 :(得分:-2)
CREATE TABLE table_name
AS SELECT * FROM schema_name.table_name;