집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server 2008에는 삽입용 bcp와 같은 대량 삭제 명령이 있습니까?
SQL Server 2008의 대량 삭제: 삭제 작업을 위한 대량 복사 병렬
이 질문에서 대량 삭제 작업의 필요성 SQL Server 2008에서는 데이터에 대한 BCP(대량 복사 작업)와 비교할 수 있는 직접적인 솔루션이 없기 때문에 발생합니다. 삭제. 이러한 격차를 해소하기 위해 사용자는 WHERE 절의 정확성으로 대량 삭제가 가능한 대안을 찾고 있습니다.
공식 응답에서는 SQL Server에 전문적인 대량 삭제 명령이 없음을 확인했습니다. 그러나 원하는 결과를 얻을 수 있는 실용적인 대안을 제공합니다.
일괄 삭제
한 가지 접근 방식은 다음 구문을 사용하여 일괄 삭제를 실행하는 것입니다.
SELECT 'Starting' --sets @@ROWCOUNT WHILE @@ROWCOUNT <> 0 DELETE TOP (xxx) MyTable WHERE ...
이를 통해 배치 크기(xxx)를 지정하고 더 이상 행이 없을 때까지 행을 반복적으로 삭제할 수 있습니다. 유지하세요.
대부분의 행 삭제를 위한 대체 삭제 전략
많은 비율의 행을 제거해야 하는 시나리오에서 보다 효율적인 접근 방식은 다음 단계를 사용하는 것입니다. :
SELECT col1, col2, ... INTO #Holdingtable FROM MyTable WHERE ..opposite condition.. TRUNCATE TABLE MyTable INSERT MyTable (col1, col2, ...) SELECT col1, col2, ... FROM #Holdingtable
여기에는 삭제되지 않을 행이 포함된 임시 보유 테이블을 생성한 다음 기본 테이블을 자르는 작업이 포함됩니다. 테이블. 마지막으로 보유 테이블의 데이터가 기본 테이블에 다시 삽입됩니다.
위 내용은 SQL Server 2008에는 삽입용 bcp와 같은 대량 삭제 명령이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!