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.

Laden Sie den vollständigen Code AlterTable.java aus den Beispielen hier herunter.
/*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.

Laden Sie den vollständigen Code AlterTable.py aus den Beispielen hier herunter.
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.

Laden Sie den vollständigen Code AlterTable.go aus den Beispielen hier herunter.
//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.

Laden Sie den vollständigen JavaScript-Code AlterTable.js aus den Beispielen hier und den vollständigen TypeScript-Code AlterTable.ts aus den Beispielen hier herunter.
//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.

Laden Sie den vollständigen Code AlterTable.cs aus den Beispielen hier herunter.
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);
}

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.

Laden Sie den vollständigen Code Indexes.java aus den Beispielen hier herunter.
/* 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.

Laden Sie den vollständigen Code Indexes.py aus den Beispielen hier herunter.
#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.

Laden Sie den vollständigen Code Indexes.go aus den Beispielen hier herunter.
//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.

Laden Sie den vollständigen JavaScript-Code Indexes.js aus den Beispielen hier und den vollständigen TypeScript-Code Indexes.ts aus den Beispielen hier herunter.
//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.

Laden Sie den vollständigen Code Indexes.cs aus den Beispielen hier herunter.
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);
}