2017-04-17 31 views
0

我正在使用Oracle作爲我的數據庫。如何在Oracle中將表從一個數據庫複製到另一個數據庫

我有一個QA環境(QA_1),現在我剛完成創建另一個新的QA環境(QA_2)。但是,我必須將一些數據從QA_1表複製到QA_2。

如何從一個數據庫表複製到另一個數據庫表?因此,類似的語法如下一些:

INSERT INTO QA_2.app_prop (prop_id, prop_name, prop_value) 
SELECT prop_id, prop_name, prop_value FROM QA_1.app_prop WHERE prop_id IN 
(SELECT prop_id FROM app_env WHERE function = 'CCC'); 

我的用戶連接到QA_1是:

host name: uat-blah.foo.foo.com 
port: 2501 
servicename: uat 

我環顧四周,谷歌和這裏的計算器,我無法找到任何語法做我正在尋找的東西。

我已經嘗試了SQL加上語法

COPY FROM username/[email protected] 
TO username/[email protected] - 

,但無濟於事。

回答

3

在將來的SQL * Plus版本中,COPY命令將被廢棄。 SQL*Plus User's Guide and Reference-Release 9.2

有幾種方法,如使用數據泵或CTAS。您也可以使用Database Link

SQL> CREATE DATABASE LINK dblink_QA_1 
CONNECT TO QA_1_app_prop_SCHEMA 
IDENTIFIED BY password 
USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = uat-blah.foo.foo.com)(PORT = 2501)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = uat)))'; 

,改變你的INSERT語句TO-

SQL> INSERT INTO QA_2.app_prop (prop_id, prop_name, prop_value) 
SELECT prop_id, prop_name, prop_value FROM [email protected]_QA_1 WHERE prop_id IN 
(SELECT prop_id FROM [email protected]_QA_1 WHERE function = 'CCC'); 
相關問題