Tabellen und Indexe löschen
Mit der TableRequest-API können Sie eine NoSQL-Tabelle löschen.
Die Ausführung der von TableRequest
angegebenen Vorgänge ist asynchron. Dies sind möglicherweise Operationen mit langer Ausführungszeit. TableResult
wird von TableRequest
-Vorgängen zurückgegeben und kapselt den Status der Tabelle. Weitere Informationen zur Klasse TableRequest
und ihren Methoden finden Sie unter Oracle NoSQL Java-SDK-API-Referenz.
/*Drop the table*/
private static void dropTab(NoSQLHandle handle) throws Exception {
String dropTableDDL = "DROP TABLE " + tableName;
TableRequest treq = new TableRequest().setStatement(dropTableDDL);
TableResult tres = handle.tableRequest(treq);
tres.waitForCompletion(handle, 60000, /* wait 60 sec */
1000); /* delay ms for poll */
System.out.println("Table " + tableName + " is dropped");
}
Mit der Klasse borneo.TableRequest
können Sie eine Tabelle löschen. Alle Aufrufe von borneo.NoSQLHandle.table_request()
sind asynchron. Daher müssen Sie das Ergebnis prüfen und borneo.TableResult.wait_for_completion()
aufrufen, um auf den Abschluss des Vorgangs zu warten. Weitere Informationen zu table_request
und den zugehörigen Methoden finden Sie unter Oracle NoSQL Python-SDK-API-Referenz.
def drop_table(handle):
statement = '''DROP TABLE stream_acct'''
request = TableRequest().set_statement(statement)
table_result = handle.do_table_request(request, 40000, 3000)
table_result.wait_for_completion(handle, 40000, 3000)
print('Dropped table: stream_acct')
Mit der Klasse TableRequest
können Sie eine Tabelle löschen. Die Ausführung von Vorgängen, die mit TableRequest
angegeben werden, ist asynchron. Dies sind möglicherweise Operationen mit langer Ausführungszeit. Diese Anforderung wird als Eingabe eines Client.DoTableRequest()
-Vorgangs verwendet, der eine TableResult
zurückgibt, die zum Polling verwendet werden kann, bis die Tabelle den gewünschten Status erreicht. Weitere Informationen zu den verschiedenen Methoden der Klasse TableRequest
finden Sie in der Oracle NoSQL Go-SDK-API-Referenz.
//drop an existing table
func dropTable(client *nosqldb.Client, err error, tableName string)(){
stmt := fmt.Sprintf("DROP TABLE %s",tableName)
tableReq := &nosqldb.TableRequest{
Statement: stmt,
}
tableRes, err := client.DoTableRequest(tableReq)
return
}
Mit der Methode tableDDL
können Sie eine Tabelle löschen. Diese Methode ist asynchron und gibt eine Zusage von TableResult
zurück. TableResult
ist ein einfaches JavaScript-Objekt, das den Status der Tabelle nach dem DDL-Vorgang kapselt. Details zur Methode finden Sie in der Klasse NoSQLClient.
//drop a table
async function dropTable(handle) {
const dropDDL = `DROP TABLE ${TABLE_NAME}`;
let res = await handle.tableDDL(dropDDL);
console.log('Table dropped: ' + TABLE_NAME);
}
Sie können eine Tabelle mit einer der Methoden ExecuteTableDDLAsync
oder ExecuteTableDDLWithCompletionAsync
löschen. Beide Methoden geben Task<TableResult>
zurück. Die Instanz TableResult
kapselt den Status der Tabelle nach dem DDL-Vorgang. Weitere Informationen zu diesen Methoden finden Sie in der Oracle NoSQL Dotnet-SDK-API-Referenz.
private static async Task dropTable(NoSQLClient client){
var sql = $@"DROP TABLE {TableName}";
var tableResult = await client.ExecuteTableDDLAsync(sql);
// Wait for the operation completion
await tableResult.WaitForCompletionAsync();
Console.WriteLine(" Table {0} is dropped", tableResult.TableName);
}
Verwandte Themen
Mit der TableRequest-API können Sie einen Index einer NoSQL-Tabelle löschen.
Die Ausführung von Vorgängen, die von der Klasse TableRequest
angegeben werden, ist asynchron. Dies sind möglicherweise Operationen mit langer Ausführungszeit. TableResult
wird von TableRequest
-Vorgängen zurückgegeben und kapselt den Status der Tabelle. Weitere Informationen zur Klasse TableRequest und ihren Methoden finden Sie unter Oracle NoSQL Java-SDK-API-Referenz.
/* Drop the index acct_episodes*/
private static void dropIndex(NoSQLHandle handle) throws Exception {
String dropIndexDDL = "DROP INDEX acct_episodes ON " + tableName;
TableRequest treq = new TableRequest().setStatement(dropIndexDDL);
TableResult tres = handle.tableRequest(treq);
tres.waitForCompletion(handle, 60000, /* wait 60 sec */
1000); /* delay ms for poll */
System.out.println("Index acct_episodes on " + tableName + " is dropped");
}
Mit der Klasse borneo.TableRequest
können Sie einen Tabellenindex löschen. Alle Aufrufe von borneo.NoSQLHandle.table_request()
sind asynchron. Daher müssen Sie das Ergebnis prüfen und borneo.TableResult.wait_for_completion()
aufrufen, um auf den Abschluss des Vorgangs zu warten. Weitere Informationen zu table_request
und den zugehörigen Methoden finden Sie unter Oracle NoSQL Python-SDK-API-Referenz.
#drop the index
def drop_index(handle):
statement = '''DROP INDEX acct_episodes ON stream_acct'''
request = TableRequest().set_statement(statement)
table_result = handle.do_table_request(request, 40000, 3000)
table_result.wait_for_completion(handle, 40000, 3000)
print('Index acct_episodes on the table stream_acct is dropped')
Mit der Klasse TableRequest
können Sie einen Tabellenindex löschen. Die Ausführung von Vorgängen, die mit TableRequest
angegeben werden, ist asynchron. Dies sind möglicherweise Operationen mit langer Ausführungszeit. Diese Anforderung wird als Eingabe eines Client.DoTableRequest()
-Vorgangs verwendet, der eine TableResult
zurückgibt, die zum Polling verwendet werden kann, bis die Tabelle den gewünschten Status erreicht. Weitere Informationen zu den verschiedenen Methoden der Klasse TableRequest
finden Sie in der Oracle NoSQL Go-SDK-API-Referenz.
//drops an index from a table
func dropIndex(client *nosqldb.Client, err error, tableName string)(){
stmt := fmt.Sprintf("DROP INDEX acct_episodes ON %s",tableName)
tableReq := &nosqldb.TableRequest{
Statement: stmt,
}
tableRes, err := client.DoTableRequest(tableReq)
if err != nil {
fmt.Printf("cannot initiate DROP INDEX request: %v\n", err)
return
}
// The drop index request is asynchronous, wait for drop index to complete.
_, err = tableRes.WaitForCompletion(client, 60*time.Second, time.Second)
if err != nil {
fmt.Printf("Error finishing DROP INDEX request: %v\n", err)
return
}
fmt.Println("Dropped index acct_episodes on table ", tableName)
return
}
Mit der Methode tableDDL
können Sie einen Tabellenindex löschen. Diese Methode ist asynchron und gibt eine Zusage von TableResult
zurück. TableResult
ist ein einfaches JavaScript-Objekt, das den Status des DDL-Vorgangs enthält, wie TableState, Name, Schema und TableLimits. Details zur Methode finden Sie in der Klasse NoSQLClient.
//drops an index
async function dropIndex(handle) {
const dropindDDL = `DROP INDEX acct_episodes ON ${TABLE_NAME}`;
let res = await handle.tableDDL(dropindDDL);
console.log('Index acct_episodes is dropped from table: ' + TABLE_NAME);
}
Sie können eine der Methoden ExecuteTableDDLAsync
oder ExecuteTableDDLWithCompletionAsync
verwenden, um einen Tabellenindex zu löschen. Beide Methoden geben Task<TableResult>
zurück. Die TableResult
-Instanz enthält den Status des DDL-Vorgangs, wie TableState und das Tabellenschema. Weitere Informationen zu diesen Methoden finden Sie in der Oracle NoSQL Dotnet-SDK-API-Referenz.
private static async Task dropIndex(NoSQLClient client){
var sql = $@"DROP INDEX acct_episodes on {TableName}";
var tableResult = await client.ExecuteTableDDLAsync(sql);
// Wait for the operation completion
await tableResult.WaitForCompletionAsync();
Console.WriteLine(" Index acct_episodes is dropped from table Table {0}",
tableResult.TableName);
}