다음을 통해 공유


.delete 테이블 레코드 - 일시 삭제 명령

적용 대상: ✅Azure Data Explorer

이러한 레코드를 포함하는 스토리지 아티팩트도 삭제되도록 시스템 보장 없이 개별 레코드를 일시 삭제하려면 다음 명령을 사용합니다. 이 명령은 레코드를 삭제된 것으로 표시하지만 스토리지 아티팩트에서 데이터를 반드시 삭제하지는 않습니다. 자세한 내용은 일시 삭제를 참조하세요.

이러한 레코드를 포함하는 스토리지 아티팩트도 삭제되도록 시스템을 통해 개별 레코드를 삭제하려면 데이터 제거를 참조하세요.

구문

.delete[async] table TableName records [with ( propertyName = propertyValue [, ...]] <| )술어

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
async string 지정한 경우 명령이 비동기 모드에서 실행됨을 나타냅니다.
TableName string ✔️ 레코드를 삭제할 테이블의 이름입니다.
propertyName, propertyValue string 키-값 속성 쌍의 쉼표로 구분된 목록입니다. 지원되는 속성을 참조하세요.
술어 string ✔️ 삭제할 레코드를 반환하는 조건자로, 쿼리로 지정됩니다. 메모를 참조하세요.

참고 항목

조건자에서 적용되는 제한 사항은 다음과 같습니다.

  • 조건자에는 하나 where 이상의 연산자가 있어야 합니다.
  • 조건자는 다음 연산자 extendwhere project만 사용할 수 있습니다.
  • 조건자는 사용할 externaldata수 없습니다.

지원되는 속성

속성 형식 설명
whatif bool 이면 true실제로 레코드를 삭제하지 않고 모든 분할된 데이터베이스에서 삭제될 레코드 수를 반환합니다. 기본값은 false입니다.

반품

명령의 출력에는 대체된 익스텐트 정보가 포함됩니다.

예: 지정된 사용자의 레코드 삭제

지정된 사용자의 데이터를 포함하는 모든 레코드를 삭제하려면 다음을 수행합니다.

.delete table MyTable records <| MyTable | where UserId == 'X'

예: 테이블에서 삭제할 레코드 수 확인

실제로 삭제하지 않고 작업에서 삭제할 레코드 수를 확인하려면 모드에서 명령을 whatif 실행할 때 RecordsMatchPredicate 열의 값을 확인합니다.

.delete table MyTable records with (whatif=true) <| MyTable | where UserId == 'X'

.delete materialized-view 레코드 - 일시 삭제 명령

구체화된 뷰에서 일시 삭제를 실행하는 경우 동일한 개념과 제한 사항이 적용됩니다.

구문 - 구체화된 뷰

.delete[async] materialized-view MaterializedViewName records [with ( propertyName = propertyValue [, ...]] <| )술어

구문 규칙에 대해 자세히 알아봅니다.

매개 변수 - 구체화된 뷰

속성 Type 필수 설명
async string 지정한 경우 명령이 비동기 모드에서 실행됨을 나타냅니다.
MaterializedViewName string ✔️ 레코드를 삭제할 구체화된 뷰의 이름입니다.
propertyName, propertyValue string 키-값 속성 쌍의 쉼표로 구분된 목록입니다. 지원되는 속성을 참조하세요.
술어 string ✔️ 삭제할 레코드를 반환하는 조건자입니다. 쿼리로 지정됩니다.

참고 항목

테이블에 대해 언급된 조건에서도 동일한 제한 사항이 적용됩니다. 백그라운드에서 실행되는 구체화 프로세스충돌하는 경우 일시 삭제가 실패할 수 있습니다. 이 경우 작업을 다시 시도하면 도움이 될 수 있습니다. 충돌을 방지하려면 일시 삭제를 실행하기 전에 구체화된 뷰를 사용하지 않도록 설정하고 작업이 완료되면 다시 사용하도록 설정할 수 있습니다. 조건자에서 함수 materialized_view()의 사용은 허용되지 않습니다.

지원되는 속성 - 구체화된 뷰

속성 형식 설명
whatif bool 이면 true실제로 레코드를 삭제하지 않고 모든 분할된 데이터베이스에서 삭제될 레코드 수를 반환합니다. 기본값은 false입니다.

예제 - 구체화된 뷰

지정된 사용자의 데이터를 포함하는 구체화된 모든 뷰 레코드를 삭제하려면 다음을 수행합니다.

.delete materialized-view MyMaterializedView records <| MyMaterializedView | where UserId == 'X'

예: 구체화된 뷰에서 삭제할 레코드 수 확인

실제로 삭제하지 않고 작업에서 삭제할 레코드 수를 확인하려면 모드에서 명령을 whatif 실행하는 동안 RecordsMatchPredicate 열의 값을 확인합니다.

.delete materialized-view MyMaterializedView records with (whatif=true) <| MyMaterializedView | where UserId == 'X'