gpt4 book ai didi

java - 如何根据一组特定数据创建部分数据库转储?

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:32 25 4
gpt4 key购买 nike

我想仅根据数据库中的某些数据从数据库中转储一些数据。假设我有一个客户表和一个订单表。订单具有客户的外键。订单是由许多订单行(自己的表)构建的,这些订单行又包含项目(自己的表)。每个都通过 FK 连接。

为了从该数据库中提取测试数据,我希望以我可以处理的方式获取数据,例如 5 个订单。数据应包含我在应用程序中使用这些订单所需的所有内容(例如客户、商品、订单行)。我只想根据我想要的订单指定一些条件。

如果确实重要的话,环境是:

  • JBoss 上的 JavaEE5
  • hibernate
  • Oracle 11g

我不反对使用任何可以让我以简单的方式获取这些数据的语言或工具。

更新:我发现了以下内容 question它处理类似的问题。

最佳答案

这是个好问题。

Oracle发布了test management pack在 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'

等等...

这不是一个强大的解决方案,它与具有很少核心表和简单约束的架构兼容。

关于java - 如何根据一组特定数据创建部分数据库转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com