ストアからのレコードの削除
KVStore.delete()
メソッドを使用して、1つのレコードをストアから削除します。レコードはキーに基づいて削除されます。削除される前に、レコードが指定されたバージョンに一致することを求めることもできます。これを行うには、KVStore.deleteIfVersion()
メソッドを使用します。バージョンについては、「バージョンの使用」で説明します。
レコードを削除する場合、ストアへの書込み操作で発生するのと同じ例外に対処する必要があります。これらの例外の概要は、「書込みの例外」を参照してください。
package kvstore.basicExample;
...
import oracle.kv.Key;
import java.util.ArrayList;
...
ArrayList<String> majorComponents = new ArrayList<String>();
ArrayList<String> minorComponents = new ArrayList<String>();
...
// Define the major and minor path components for the key
majorComponents.add("Smith");
majorComponents.add("Bob");
minorComponents.add("phonenumber");
// Create the key
Key myKey = Key.createKey(majorComponents, minorComponents);
// Now delete the record. Note that we do not show the creation of the
// kvstore handle here.
kvstore.delete(myKey);
multiDelete()の使用
複数のレコードで同じメジャー・パス・コンポーネントが共有されている場合、それらのレコードを一度に削除できます。完全なメジャー・パス・コンポーネントを指定する必要があることに注意してください。マイナー・パス・コンポーネントを省略したり、パス・コンポーネントを部分的に指定することもできます。
複数のレコードを一度に削除するには、KVStore.multiDelete()
メソッドを使用します。
次に例を示します。
package kvstore.basicExample;
...
import oracle.kv.Key;
import java.util.ArrayList;
...
ArrayList<String> majorComponents = new ArrayList<String>();
...
// Define the major and minor path components for the key
majorComponents.add("Smith");
majorComponents.add("Bob");
// Create the key
Key myKey = Key.createKey(majorComponents);
// Now delete the record. Note that we do not show the creation of the
// kvstore handle here.
kvstore.multiDelete(myKey, null, null);