[英]How to create a partial database dump based on a specific set of data?
我只想基於數據庫中的某些數據從數據庫中轉出一些數據。 說我有一個客戶表和一個訂單表。 訂單具有客戶外鍵。 訂單是由許多訂單行(自己的表)構建而成的,而訂單行本身又具有項目(自己的表)。 每個都通過FK鏈接。
為了從該數據庫中提取測試數據,我想以一種可以處理它的方式(例如說5個訂單)來獲取數據。 數據應包含我在應用程序中使用這些訂單所需的所有內容(例如,客戶,物料,訂單行)。 我只想根據我想要的訂單指定一些條件。
如果確實重要,則環境為:
我不反對使用任何使我能夠以簡單方式獲取此數據的語言或工具。
更新:我發現以下問題處理類似的問題。
這是一個好問題。
甲骨文在12c中發布了一個測試管理包 ,我認為可以解決這個問題-我花了很多時間,但也許它也與11g兼容。 Informatica也有類似產品。
如果您不想使用昂貴的解決方案,則可以使用COPY命令。 sqlplus COPY
命令的原理類似於舊的exp
/ imp
但是它允許您使用查詢導出。
1.導出查詢表。
2.使用過濾器導出主(事實)表。
copy from=user/pass@prod to user/pass@test create big_fact using select * from big_Fact where update_date > '01/01/2013'
3.通過加入基本表來復制相關表
copy from=user/pass@prod to user/pass@test create related_table1 using select related_table1.* from related_table1 join big_fact on (join_condition) where big_fact.update_date > '01/01/2013'
等等 ...
這不是一個可靠的解決方案,它與核心表很少且約束簡單的架構兼容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.