테이블과 인덱스 삭제

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에 의해 지정된 작업의 실행은 비동기입니다. 이러한 작업은 장시간 실행되는 작업일 수 있습니다. 이 요청은 테이블이 원하는 상태에 도달할 때까지 폴링하는 데 사용할 수 있는 TableResult를 반환하는 Client.DoTableRequest() 작업의 입력으로 사용됩니다. 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 메소드를 사용하여 테이블을 삭제할 수 있습니다. 이 메소드는 비동기적이며 TableResult의 Promise를 반환합니다. TableResult는 DDL 작업 후 테이블의 상태를 캡슐화하는 일반 JavaScript 객체입니다. 메소드 세부 정보는 NoSQLClient 클래스를 참조하십시오.

AlterTable.js의 전체 JavaScript 코드를 여기에서 다운로드하고 AlterTable.ts의 전체 TypeScript 코드를 여기에서 다운로드하십시오.

//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에 의해 지정된 작업의 실행은 비동기입니다. 이러한 작업은 장시간 실행되는 작업일 수 있습니다. 이 요청은 테이블이 원하는 상태에 도달할 때까지 폴링하는 데 사용할 수 있는 TableResult를 반환하는 Client.DoTableRequest() 작업의 입력으로 사용됩니다. 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 메소드를 사용하여 테이블 인덱스를 삭제할 수 있습니다. 이 메소드는 비동기적이며 TableResult의 Promise를 반환합니다. TableResult는 TableState, 이름, 스키마 및 해당 TableLimits와 같은 DDL 작업의 상태를 포함하는 일반 JavaScript 객체입니다. 메소드 세부 정보는 NoSQLClient 클래스를 참조하십시오.

Indexes.js의 예에서 전체 JavaScript 코드 인덱스.jsIndexes.ts의 전체 TypeScript 코드를 여기에서 다운로드하십시오.

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

관련 항목