【匯出匯入】% 在匯入匯出中的應用。

楊奇龍發表於2011-03-16
由於業務需求要匯出字首為mock_的很多表,如果一個一個列出的話,勢必很麻煩,這裡測試了一下 % 的用法。
具體測試如下:
=搭建環境:
yang@ORACL> create table mock_loan as select * from user_objects;
表已建立。
yang@ORACL> create table mock_repay_loan as select * from user_objects;
表已建立。
yang@ORACL> create table mock_loan_error as select * from user_objects;
表已建立。
yang@ORACL> create table mock_user_info as select * from user_objects;
表已建立。
yang@ORACL> create table mock_user_profile_info as select * from user_objects;
表已建立。

yang@ORACL> select table_name from user_tables;
TABLE_NAME
------------------------------
TEST_BYTE
TEST
VARTAB
CHARTAB
MOCK_LOAN
MOCK_REPAY_LOAN
MOCK_LOAN_ERROR
MOCK_USER_INFO
MOCK_USER_PROFILE_INFO
SYS_EXPORT_TABLE_01
已選擇10行。

yang@ORACL>
C:\Users\aaaa>expdp yang/yang tables=mock_% directory=dumpdir dumpfile=mock_%U.dmp logfile=mock.log
Export: Release 11.1.0.6.0 - Production on 星期三, 16 3月, 2011 14:02:57
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
啟動 "YANG"."SYS_EXPORT_TABLE_01":  yang/******** tables=mock_% directory=dumpdir dumpfile=mock_%U.d
mp logfile=mock.log
正在使用 BLOCKS 方法進行估計...
處理物件型別 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 320 KB
處理物件型別 TABLE_EXPORT/TABLE/TABLE
. . 匯出了 "YANG"."MOCK_LOAN"                          10.69 KB       5 行
. . 匯出了 "YANG"."MOCK_LOAN_ERROR"                    10.87 KB       7 行
. . 匯出了 "YANG"."MOCK_REPAY_LOAN"                    10.78 KB       6 行
. . 匯出了 "YANG"."MOCK_USER_INFO"                     10.95 KB       8 行
. . 匯出了 "YANG"."MOCK_USER_PROFILE_INFO"             11.05 KB       9 行
已成功載入/解除安裝了主表 "YANG"."SYS_EXPORT_TABLE_01"
******************************************************************************
YANG.SYS_EXPORT_TABLE_01 的轉儲檔案集為:
  D:\DUMP\MOCK_01.DMP
作業 "YANG"."SYS_EXPORT_TABLE_01" 已於 14:03:27 成功完成
=
yang@ORACL> drop table mock_&c;
輸入 c 的值:  loan
原值    1: drop table mock_&c
新值    1: drop table mock_loan
表已刪除。

yang@ORACL> /
輸入 c 的值:  repay_loan
原值    1: drop table mock_&c
新值    1: drop table mock_repay_loan
表已刪除。

yang@ORACL> /
輸入 c 的值:  user_info
原值    1: drop table mock_&c
新值    1: drop table mock_user_info
表已刪除。

yang@ORACL> /
輸入 c 的值:  user_profile_info
原值    1: drop table mock_&c
新值    1: drop table mock_user_profile_info
表已刪除。
yang@ORACL> /
輸入 c 的值:  loan_error
原值    1: drop table mock_&c
新值    1: drop table mock_loan_error
表已刪除。
C:\Users\aaaa>impdp yang/yang tables=mock_% directory=dumpdir dumpfile=mock_%U.dmp logfile=mock_imp.log
Import: Release 11.1.0.6.0 - Production on 星期三, 16 3月, 2011 14:05:18
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功載入/解除安裝了主表 "YANG"."SYS_IMPORT_TABLE_01"
啟動 "YANG"."SYS_IMPORT_TABLE_01":  yang/******** tables=mock_% directory=dumpdir dumpfile=mock_%U.d
mp logfile=mock_imp.log
處理物件型別 TABLE_EXPORT/TABLE/TABLE
處理物件型別 TABLE_EXPORT/TABLE/TABLE_DATA
. . 匯入了 "YANG"."MOCK_LOAN"                          10.69 KB       5 行
. . 匯入了 "YANG"."MOCK_LOAN_ERROR"                    10.87 KB       7 行
. . 匯入了 "YANG"."MOCK_REPAY_LOAN"                    10.78 KB       6 行
. . 匯入了 "YANG"."MOCK_USER_INFO"                     10.95 KB       8 行
. . 匯入了 "YANG"."MOCK_USER_PROFILE_INFO"             11.05 KB       9 行
作業 "YANG"."SYS_IMPORT_TABLE_01" 已於 14:05:23 成功完成
檢測結果:
yang@ORACL> select table_name from user_tables;
TABLE_NAME
------------------------------
TEST_BYTE
TEST
VARTAB
CHARTAB
MOCK_LOAN
MOCK_REPAY_LOAN
MOCK_LOAN_ERROR
MOCK_USER_INFO
MOCK_USER_PROFILE_INFO
已選擇9行。
看來如果遇到此類情況,使用%來操作還是比較方便的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-689601/,如需轉載,請註明出處,否則將追究法律責任。

相關文章