我正在對AM進行Junit測試。如何在測試時恢復表中的一條記錄/行?
問題是,在某些情況下,某行中的屬性值發生更改,有時甚至必須刪除表中的整行。
如何在每個測試用例的末尾以Java編程方式恢復行,因爲我不想更改數據庫中的數據?
謝謝!
我正在對AM進行Junit測試。如何在測試時恢復表中的一條記錄/行?
問題是,在某些情況下,某行中的屬性值發生更改,有時甚至必須刪除表中的整行。
如何在每個測試用例的末尾以Java編程方式恢復行,因爲我不想更改數據庫中的數據?
謝謝!
對於將根據需要更新或插入記錄的特定行使用merge。例如:
合併到獎金D使用(SELECT僱員,工資, 部門標識FROM僱員WHERE部門= 80)S ON (D.employee_id = S.employee_id)WHEN MATCHED THEN SET UPDATE 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可加還原點,你可以返回。
謝謝......但事情是,如果我們刪除了整行,我們如何將它插入表中?沒有主鍵或其他信息了。 – Elva
如果刪除主鍵爲ID爲1的行。也刪除主鍵 – user7294900
是的,的確如此。重點是如何恢復表中的一個刪除行,而不是隻插入一行......它如何實現? – Elva