是否有可能使用來自不同數據庫的SELECT來創建表(在我的開發數據庫中)?如何創建一個表作爲Oracle中另一個數據庫的選擇?
我想是這樣的:
create tmp_table as select * from prod_db.prod_schema.table
是否有語法要做到這一點,或者我需要首先創建一個數據庫鏈接?
是否有可能使用來自不同數據庫的SELECT來創建表(在我的開發數據庫中)?如何創建一個表作爲Oracle中另一個數據庫的選擇?
我想是這樣的:
create tmp_table as select * from prod_db.prod_schema.table
是否有語法要做到這一點,或者我需要首先創建一個數據庫鏈接?
您必須先創建數據鏈接。
除非創建數據庫鏈接,否則Oracle無法查詢其他數據庫。如果DB鏈接存在,如你所說,你要做的:
create tmp_table as select * from [email protected]_db
@Steve是正確的,必須有一個數據庫鏈接,但語法是:
create tmp_table as select * from [email protected]
不要忘記創建索引。你可以爲這個模式中的所有表,像這樣的查詢:
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u;
我會離開那個dba :) – chris 2009-07-30 19:09:58
大聲笑,如果你打算這樣做,你可以直接要求你的dba EXP/IMP模式,它會快得多。 – 2009-07-31 08:00:08
CREATE TABLE table_name
AS SELECT * FROM schema_name.table_name;
哎呀...得到咬傷(沒有一個Oracle數據庫在手進行測試)。更正我的答案,thx ... – 2009-07-30 18:21:02