gpt4 book ai didi

java - 测试时如何恢复表中的一条记录/行?

转载 作者:搜寻专家 更新时间:2023-10-30 20:50:26 24 4
gpt4 key购买 nike

我正在对 AM 进行 Junit 测试。

问题是,在某些情况下,一行中的属性值会发生变化,有时甚至需要删除表中的整行。

因为我不想更改数据库中的数据,所以如何在每个测试用例结束时以 Java 编程方式恢复行?

谢谢!

最佳答案

使用merge对于将根据需要更新或插入记录的特定行。示例:

MERGE INTO bonuses D USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S ON (D.employee_id = S.employee_id) WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 DELETE WHERE (S.salary > 8000) WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus) VALUES (S.employee_id, S.salary*.01) WHERE (S.salary <= 8000);

在java中用PreparedStatement调用,例如:

preparedStatement = dbConnection.prepareStatement("Merge ..");

另一个不用于生产的选项是 flashback它可以添加您可以返回的还原点。

关于java - 测试时如何恢复表中的一条记录/行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45319214/

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