2017-07-26 1 views
2

私はAMでJunitテストを実施しています。テスト時にテーブルの1レコード/行を復元するには?

場合によっては、ある行の属性の値に変更があり、場合によっては表の行全体を削除する必要があることもあります。

DBのデータを変更しないため、各テストケースの最後にJavaプログラミングの方法で行を復元するにはどうすればよいですか?

ありがとうございます!

答えて

0

mergeは、必要に応じてレコードを更新または挿入する特定の行に使用します。例:ボーナスINTO

MERGEが使用してD(EMPLOYEE_ID、給与、従業員からの DEPARTMENT_IDを選択WHERE DEPARTMENT_ID = 80) (D.employee_id = S.employee_id)ON S MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary * .01 DELETE WHERE(S> 8000)INSERT(D.employee_id、D.bonus)と一致しない場合 VALUES(S.employee_id、S.salary * .01) WHERE (S.salary < = 8000); Javaで

例えば、PreparedStatementのとそれを呼び出す:本番での使用のためではありません

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

別のオプションは、あなたがに戻すことができます復元ポイントを追加することができflashbackです。

+0

ありがとうございます...しかし、問題は、行全体を削除した場合、テーブルに挿入するにはどうすればいいですか?もうプライマリキーやその他の情報はありません。 – Elva

+0

プライマリキーがId 1の行を削除すると、プライマリキーも削除されます – user7294900

+0

はい、そうです。ポイントは、単に1つの行を挿入するのではなく、削除された行をリストアする方法です...どうすればそれが成立するでしょうか? – Elva

関連する問題