我正在一个AM上进行JUnit测试。
问题是,在某些情况下,一行中的属性值发生更改,有时甚至不得不删除表中的整行。
如何在每个测试用例结束时以java编程的方式恢复行,因为我不想更改db中的数据?
谢谢!
最佳答案
对于将根据需要更新或插入记录的特定行,使用merge。例子:
使用(选择员工ID、薪资、
部门ID来自部门ID=80的员工
(d.employee_id=s.employee_id)匹配后更新集
D.奖金=D.奖金+S.薪水*.01
删除不匹配的地方(S.Salary>8000),然后插入(D.Employee_id,D.Bonus)
值(S.Employee_id,S.Salary*.01)
其中(工资在java中,使用preparedstatement调用它,例如:
preparedStatement = dbConnection.prepareStatement("Merge ..");
另一个不在生产中使用的选项是flashback,它可以添加您可以返回的还原点。
关于java - 测试时如何还原表中的一条记录/行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45319214/