테이블 및 인덱스 삭제

TableRequest API를 사용하여 NoSQL 테이블을 삭제할 수 있습니다.

TableRequest로 지정된 작업의 실행은 비동기입니다. 이러한 작업은 장기적으로 실행될 수 있습니다. TableResultTableRequest 작업에서 반환되며 테이블의 상태를 캡슐화합니다. TableRequest 클래스 및 해당 메소드에 대한 자세한 내용은 Oracle NoSQL Java SDK API Reference를 참조하십시오.

AlterTable.java 예제에서 전체 코드 를 다운로드하십시오.
/*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");
}

borneo.TableRequest 클래스를 사용하여 테이블을 삭제할 수 있습니다. borneo.NoSQLHandle.table_request()에 대한 모든 호출은 비동기적이므로 결과를 확인하고 작업이 완료될 때까지 기다리려면 borneo.TableResult.wait_for_completion()를 호출해야 합니다. table_request 및 해당 메소드에 대한 자세한 내용은 Oracle NoSQL Python SDK API Reference를 참조하십시오.

AlterTable.py 예제에서 전체 코드 를 다운로드하십시오.
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')

TableRequest 클래스를 사용하여 테이블을 삭제할 수 있습니다. TableRequest로 지정된 작업의 실행은 비동기입니다. 이러한 작업은 장기적으로 실행될 수 있습니다. 이 요청은 Client.DoTableRequest() 작업의 입력으로 사용되며, 테이블이 원하는 상태에 도달할 때까지 폴링에 사용할 수 있는 TableResult를 반환합니다. TableRequest 클래스의 다양한 메소드에 대한 자세한 내용은 Oracle NoSQL Go SDK API Reference를 참조하십시오.

AlterTable.go 예제에서 전체 코드 를 다운로드하십시오.
//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
}

tableDDL 메소드를 사용하여 테이블을 삭제할 수 있습니다. 이 메소드는 비동기적이며 Promise TableResult를 반환합니다. TableResult는 DDL 작업 후 테이블의 상태를 캡슐화하는 일반 JavaScript 객체입니다. 메소드 세부 정보는 NoSQLClient 클래스를 참조하십시오.

Download the full JavaScript code AlterTable.js from the examples here and the full TypeScript code AlterTable.ts from the examples here.
//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);
}

ExecuteTableDDLAsync 또는 ExecuteTableDDLWithCompletionAsync 메소드를 사용하여 테이블을 삭제할 수 있습니다. 두 메소드는 모두 Task<TableResult>를 반환합니다. TableResult 인스턴스는 DDL 작업 후 테이블의 상태를 캡슐화합니다. 이러한 방법에 대한 자세한 내용은 Oracle NoSQL Dotnet SDK API Reference를 참조하십시오.

AlterTable.cs 예제에서 전체 코드 를 다운로드하십시오.
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);
}

TableRequest API를 사용하여 NoSQL 테이블의 인덱스를 삭제할 수 있습니다.

TableRequest 클래스에서 지정한 작업의 실행은 비동기입니다. 이러한 작업은 장기적으로 실행될 수 있습니다. TableResultTableRequest 작업에서 반환되며 테이블의 상태를 캡슐화합니다. TableRequest 클래스 및 해당 메소드에 대한 자세한 내용은 Oracle NoSQL Java SDK API Reference를 참조하십시오.

Indexes.java 예제에서 전체 코드 를 다운로드하십시오.
/* 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");
}

borneo.TableRequest 클래스를 사용하여 테이블 인덱스를 삭제할 수 있습니다. borneo.NoSQLHandle.table_request()에 대한 모든 호출은 비동기적이므로 결과를 확인하고 작업이 완료될 때까지 기다리려면 borneo.TableResult.wait_for_completion()를 호출해야 합니다. table_request 및 해당 메소드에 대한 자세한 내용은 Oracle NoSQL Python SDK API Reference를 참조하십시오.

Indexes.py 예제에서 전체 코드 를 다운로드하십시오.
#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')

TableRequest 클래스를 사용하여 테이블 인덱스를 삭제할 수 있습니다. TableRequest로 지정된 작업의 실행은 비동기입니다. 이러한 작업은 장기적으로 실행될 수 있습니다. 이 요청은 Client.DoTableRequest() 작업의 입력으로 사용되며, 테이블이 원하는 상태에 도달할 때까지 폴링에 사용할 수 있는 TableResult를 반환합니다. TableRequest 클래스의 다양한 메소드에 대한 자세한 내용은 Oracle NoSQL Go SDK API Reference를 참조하십시오.

Indexes.go 예제에서 전체 코드 를 다운로드하십시오.
//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
}

tableDDL 메소드를 사용하여 테이블 인덱스를 삭제할 수 있습니다. 이 메소드는 비동기적이며 Promise TableResult를 반환합니다. TableResult는 TableState, 이름, 스키마 및 TableLimits와 같은 DDL 작업의 상태를 포함하는 일반 JavaScript 객체입니다. 메소드 세부 정보는 NoSQLClient 클래스를 참조하십시오.

Download the full JavaScript code Indexes.js from the examples here and the full TypeScript code Indexes.ts from the examples here.
//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);
}

ExecuteTableDDLAsync 또는 ExecuteTableDDLWithCompletionAsync 메소드 중 하나를 사용하여 테이블 인덱스를 삭제할 수 있습니다. 두 메소드는 모두 Task<TableResult>를 반환합니다. TableResult 인스턴스는 TableState 및 테이블 스키마와 같은 DDL 작업의 상태를 포함합니다. 이러한 방법에 대한 자세한 내용은 Oracle NoSQL Dotnet SDK API Reference를 참조하십시오.

Indexes.cs 예제에서 전체 코드 를 다운로드하십시오.
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);
}