問合せAPIの使用によるデータの削除
QueryRequest
APIを使用し、NoSQL表から、フィルタ条件を満たす1つ以上の行を削除できます。
問合せリクエストでDELETE SQLコマンドを使用して、データを削除できます。問合せを実行するには、NoSQLHandle.query()
APIを使用します。
こちらにあるサンプルの中からフル・コードModifyData.javaをダウンロードします。
//delete rows based on a filter condition
private static void deleteRows(NoSQLHandle handle, String sqlstmt) throws Exception {
QueryRequest queryRequest = new QueryRequest().setStatement(sqlstmt);
handle.query(queryRequest);
System.out.println("Deleted row(s) from table " + tableName);
}
String del_stmt ="DELETE FROM stream_acct acct1 WHERE
acct1.acct_data.firstName=\"Adelaide\" AND acct1.acct_data.lastName=\"Willard\"";
/*delete rows based on a filter condition*/
deleteRows(handle,del_stmt);
問合せリクエストでDELETE SQLコマンドを使用して、データを削除できます。問合せを実行するには、borneo.NoSQLHandle.query()
メソッドを使用します。
こちらにあるサンプルの中からフル・コードModifyData.pyをダウンロードします。
#del row(s) with a filter condition
def delete_rows(handle,sqlstmt):
request = QueryRequest().set_statement(sqlstmt)
result = handle.query(request)
print('Deleted data from table: stream_acct')
# delete data based on a filter condition
del_stmt ='''DELETE FROM stream_acct acct1 WHERE
acct1.acct_data.firstName="Adelaide" AND acct1.acct_data.lastName="Willard"'''
delete_rows(handle,del_stmt)
問合せリクエストでDELETE SQLコマンドを使用して、データを削除できます。問合せを実行するには、Client.Query
関数を使用します。
こちらにあるサンプルの中からフル・コードModifyData.goをダウンロードします。
//delete rows based on a filter condition
func deleteRows(client *nosqldb.Client, err error, tableName string, querystmt string)(){
prepReq := &nosqldb.PrepareRequest{
Statement: querystmt,
}
prepRes, err := client.Prepare(prepReq)
if err != nil {
fmt.Printf("Prepare failed: %v\n", err)
return
}
queryReq := &nosqldb.QueryRequest{
PreparedStatement: &prepRes.PreparedStatement, }
var results []*types.MapValue
for {
queryRes, err := client.Query(queryReq)
if err != nil {
fmt.Printf("Upsert failed: %v\n", err)
return
}
res, err := queryRes.GetResults()
if err != nil {
fmt.Printf("GetResults() failed: %v\n", err)
return
}
results = append(results, res...)
if queryReq.IsDone() {
break
}
}
for i, r := range results {
fmt.Printf("\t%d: %s\n", i+1, jsonutil.AsJSON(r.Map()))
}
fmt.Printf("Deleted data from the table: %v\n",tableName)
}
delete_stmt := `DELETE FROM stream_acct acct1 WHERE
acct1.acct_data.firstName="Adelaide" AND acct1.acct_data.lastName="Willard"`
deleteRows(client, err,tableName,delete_stmt)
問合せリクエストでDELETE SQLコマンドを使用して、データを削除できます。問合せを実行するには、query
メソッドを使用します。
JavaScript: こちらにあるサンプルの中からフル・コードModifyData.jsをダウンロードします。
/*deletes data based on a filter conditioin */
async function deleteRows(handle,querystmt) {
const opt = {};
try {
do {
const result = await handle.query(querystmt, opt);
opt.continuationKey = result.continuationKey;
} while(opt.continuationKey);
} catch(error) {
console.error(' Error: ' + error.message);
}
}
await deleteRows(handle,del_stmt);
console.log("Rows deleted");
TypeScript: こちらにあるサンプルの中からフル・コードModifyData.tsをダウンロードします。
async function deleteRows(handle: NoSQLClient,querystmt: string) {
const opt = {};
try {
do {
const result = await handle.query<StreamInt>(querystmt, opt);
for(let row of result.rows) {
console.log(' %O', row);
}
opt.continuationKey = result.continuationKey;
} while(opt.continuationKey);
} catch(error) {
console.error(' Error: ' + error.message);
}
}
await deleteRows(handle,del_stmt);
console.log("Rows deleted");
問合せリクエストでDELETE SQLコマンドを使用して、データを削除できます。問合せを実行するには、QueryAsync
メソッドをコールするか、GetQueryAsyncEnumerable
メソッドをコールして、結果の非同期列挙可能性に対して反復処理します。
こちらにあるサンプルの中からフル・コードModifyData.csをダウンロードします。
private static async Task deleteRows(NoSQLClient client,String querystmt){
var queryEnumerable = client.GetQueryAsyncEnumerable(querystmt);
}
await deleteRows(client,del_stmt);
Console.WriteLine("Rows removed from the table");