終於學會了Oracle資料庫中的Copy命令

來源:互聯網
上載者:User

SQL*Plus的Copy命令

在資料表間複製資料是Oracle DBA經常面對的任務之一,Oracle為這一任務提供了多種解決方案,SQL*Plus Copy 命令便是其中之一。SQL*Plus Copy 命令通過SQL*Net在不同的表(同一伺服器或是不同伺服器)之間複製資料或移動資料。

 在實際運行環境中若能恰當地選擇使用SQL*Plus Copy 命令可以有效地提高資料複製的效能。

 下面將簡要介紹SQL*Plus Copy 命令使用,並在效能方面與其他兩種方案進行對比,力求能提供一個使用Copy 命令的方案參考。

文法及使用說明

文法:

下面我們來看一下SQL*Copy 命令的文法及使用說明。

在解釋SQL*Plus Copy 命令的文法之前,我們必須要明確SQL*Plus Copy 命令不是一個方法或是函數,也不是一個SQL語句,它是一個命令(command),當然這個命令必須在SQL*Plus裡運行。

SQL*Plus Copy 命令的文法:

COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE} destination_table [(column, column, column, ...)]USING query

我們分部分來解釋一下:

COPY – 這個不太需要解釋,主命令,聲明要執行COPY操作。

From Database – 來源資料庫。

To Database – 目標資料庫。

此處注意花括弧中有三種可選的寫法(以”|”隔開),如果來源資料表和目標資料表在同一個Schema中,則可以唯寫From Database,也可以唯寫To Database,當然還可以是第三種寫法,把From Database和To Database寫全。但如果來源資料表和目標資料表不在同一個Schema中,則必須用第三種寫法,即把From Database和To Database都寫全,格式相同:USERID/PASSWORD@SID。

{APPEND|CREATE|INSERT|REPLACE} – 聲明操作資料的方式,下面分別解釋一下:

Append – 向已有的目標表中追加記錄,如果目標表不存在,自動建立,這種情況下和Create等效。

Create – 建立目標表並且向其中追加記錄,如果目標表已經存在,則會返回錯誤。

Insert – 向已有的目標表中插入記錄,與Append不同的是,如果目標表不存在,不自動建立而是返回錯誤。

Replace – 用查詢出來的資料覆蓋已有的目標表中的資料,如果目標表不存在,自動建立。

destination_table – 目標表的名字

[(column, column, column, ...)] – 可以指定目標表中列的名字,如果不指定,則自動使用Query中的列名。

  • 1
  • 2
  • 下一頁
【內容導航】
第1頁:終於學會了Oracle資料庫中的Copy命令 第2頁:終於學會了Oracle資料庫中的Copy命令

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.