gpt4 book ai didi

java - 使用 dbUnit 模拟触发器

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:59 26 4
gpt4 key购买 nike

我正在使用 dbUnit 将测试数据放入数据库中,数据集如下所示

     <dataset>
<TABLE_1 PRIMARY_KEY_COL="10000001" OTHER_COL="Some Text"/>
</dataset>

我的问题是数据库中有一个插入触发器将子记录填充到 TABLE_2 中。所以当我尝试

   DatabaseOperation.DELETE.execute();

在 tearDown() 中,它失败并出现 java.sql.SQLException: ORA-02292: integrity constraint (TABLE_2_TABLE_1_FK) violated - child record found.

有什么方法可以模拟 TABLE_1 的删除触发器,以使用 dbUnit 删除子记录并且不将触发器添加到 DB 中?

最佳答案

我们的数据库中没有触发器,但我们使用 dbunit,这可能对您有用:

您可以为 DELETE 操作使用不同的数据集,其中包括触发器将数据插入到的表。顺序很重要,因此 dbunit 可以对首先引用 TABLE_1 的表执行删除或插入操作...

<dataset>
<TABLE_WITH_TRIGGERED_DATA_HERE...>
<TABLE_1 PRIMARY_KEY_COL="10000001" OTHER_COL="Some Text"/>
</dataset>

关于java - 使用 dbUnit 模拟触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310386/

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