Tabellen und Indizes 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 Vorgänge mit langer Ausführungszeit. TableResult wird von TableRequest-Vorgängen zurückgegeben und kapselt den Status der Tabelle. Weitere Informationen zur TableRequest-Klasse und ihren Methoden finden Sie in der 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 zu warten, bis der Vorgang abgeschlossen ist. Weitere Informationen zu table_request und den Methoden finden Sie in der 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 der mit TableRequest angegebenen Vorgänge ist asynchron. Dies sind möglicherweise Vorgänge 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 einen Promise von TableResult zurück. TableResult ist ein einfaches JavaScript-Objekt, das den Status der Tabelle nach dem DDL-Vorgang kapselt. Methodendetails finden Sie in der Klasse NoSQLClient.

Laden Sie den vollständigen JavaScript-Code AlterTable.js aus den Beispielen hier herunter, und den vollständigen TypeScript-Code AlterTable.ts aus den Beispielen hier.

//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 TableResult-Instanz 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 der von der Klasse TableRequest angegebenen Vorgänge ist asynchron. Dies sind möglicherweise Vorgänge mit langer Ausführungszeit. TableResult wird von TableRequest-Vorgängen zurückgegeben und kapselt den Status der Tabelle. Weitere Informationen zur TableRequest-Klasse und ihren Methoden finden Sie in der 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 zu warten, bis der Vorgang abgeschlossen ist. Weitere Informationen zu table_request und den Methoden finden Sie in der 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 der mit TableRequest angegebenen Vorgänge ist asynchron. Dies sind möglicherweise Vorgänge 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 einen Promise von TableResult zurück. TableResult ist ein einfaches JavaScript-Objekt, das den Status des DDL-Vorgangs enthält, wie TableState, Name, Schema und seine TableLimits. Methodendetails finden Sie in der Klasse NoSQLClient.

Laden Sie den vollständigen JavaScript-Code Indexes.js aus den Beispielen hier herunter, und den vollständigen TypeScript-Code Indexes.ts aus den Beispielen hier.

//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);
}

Mit einer der Methoden ExecuteTableDDLAsync oder ExecuteTableDDLWithCompletionAsync können Sie einen Tabellenindex löschen. Beide Methoden geben Task<TableResult> zurück. Die TableResult-Instanz enthält den Status von DDL-Vorgängen wie TableState und 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);
}

Verwandte Themen