Eliminazione di tabelle e indici
È possibile utilizzare l'API TableRequest per eliminare una tabella NoSQL.
L'esecuzione delle operazioni specificate da TableRequest è asincrona. Si tratta di operazioni potenzialmente di lunga durata. TableResult viene restituito dalle operazioni TableRequest e incapsula lo stato della tabella. Per ulteriori dettagli sulla classe TableRequest e sui relativi metodi, vedere Oracle NoSQL Java SDK API Reference.
/*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");
}È possibile utilizzare la classe borneo.TableRequest per eliminare una tabella. Tutte le chiamate a borneo.NoSQLHandle.table_request() sono asincrone, pertanto è necessario controllare il risultato e chiamare borneo.TableResult.wait_for_completion() per attendere il completamento dell'operazione. Per ulteriori informazioni su table_request e sui relativi metodi, vedere Oracle NoSQL Python SDK API Reference.
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')È possibile utilizzare la classe TableRequest per eliminare una tabella. L'esecuzione delle operazioni specificate da TableRequest è asincrona. Si tratta di operazioni potenzialmente di lunga durata. Questa richiesta viene utilizzata come input di un'operazione Client.DoTableRequest(), che restituisce un valore TableResult che può essere utilizzato per eseguire il polling fino a quando la tabella non raggiunge lo stato desiderato. Per ulteriori dettagli sui vari metodi della classe TableRequest, consulta Oracle NoSQL Go SDK API Reference.
//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
}È possibile utilizzare il metodo tableDDL per eliminare una tabella. Questo metodo è asincrono e restituisce una promessa di TableResult. TableResult è un semplice oggetto JavaScript che incapsula lo stato della tabella dopo l'operazione DDL. Per ulteriori informazioni sul metodo, vedere la classe 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);
}È possibile utilizzare uno dei metodi ExecuteTableDDLAsync o ExecuteTableDDLWithCompletionAsync per eliminare una tabella. Entrambi i metodi restituiscono Task<TableResult>. L'istanza TableResult incapsula lo stato della tabella dopo l'operazione DDL. Per ulteriori dettagli su questi metodi, consulta Oracle NoSQL Riferimento API SDK Dotnet.
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);
}Argomenti correlati
È possibile utilizzare l'API TableRequest per eliminare un indice di una tabella NoSQL.
L'esecuzione delle operazioni specificate dalla classe TableRequest è asincrona. Si tratta di operazioni potenzialmente di lunga durata. TableResult viene restituito dalle operazioni TableRequest e incapsula lo stato della tabella. Per ulteriori dettagli sulla classe TableRequest e sui relativi metodi, vedere Oracle NoSQL Java SDK API Reference.
/* 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");
}È possibile utilizzare la classe borneo.TableRequest per eliminare un indice di tabella. Tutte le chiamate a borneo.NoSQLHandle.table_request() sono asincrone, pertanto è necessario controllare il risultato e chiamare borneo.TableResult.wait_for_completion() per attendere il completamento dell'operazione. Per ulteriori informazioni su table_request e sui relativi metodi, vedere Oracle NoSQL Python SDK API Reference.
#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')
È possibile utilizzare la classe TableRequest per eliminare un indice di tabella. L'esecuzione delle operazioni specificate da TableRequest è asincrona. Si tratta di operazioni potenzialmente di lunga durata. Questa richiesta viene utilizzata come input di un'operazione Client.DoTableRequest(), che restituisce un valore TableResult che può essere utilizzato per eseguire il polling fino a quando la tabella non raggiunge lo stato desiderato. Per ulteriori dettagli sui vari metodi della classe TableRequest, consulta Oracle NoSQL Go SDK API Reference.
//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
} È possibile utilizzare il metodo tableDDL per eliminare un indice di tabella. Questo metodo è asincrono e restituisce una promessa di TableResult. TableResult è un oggetto JavaScript non codificato che contiene lo stato dell'operazione DDL, ad esempio TableState, nome, schema e TableLimits. Per ulteriori informazioni sul metodo, vedere la classe 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);
}È possibile utilizzare uno dei metodi ExecuteTableDDLAsync o ExecuteTableDDLWithCompletionAsync per eliminare un indice di tabella. Entrambi i metodi restituiscono Task<TableResult>. L'istanza TableResult contiene lo stato dell'operazione DDL, ad esempio TableState e lo schema di tabella. Per ulteriori dettagli su questi metodi, consulta Oracle NoSQL Riferimento API SDK Dotnet.
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);
}