티스토리 뷰
개별 행 삭제를 로깅하지 않고 모든 행을 테이블에서 제거한다.
WHERE 절이 없는 DELETE 문과 동일하지만, 더 빠르고 시스템 및 트랜잭션 로그 리소스를 덜 사용한다.
모든 행을 제거하지만 테이블 구조와 테이블의 열, 제약 조건, 인덱스 등은 그대로 존재.
Identity 열이 포함되어 있으면 카운터가 초기값으로 다시 설정된다.(초기값이 정의되어 있지 않으면 기본값 1 적용)
TRUNCATE TABLE [ { database_name .[ schema_name ] . | schema_name . } ] table_name [ ; ] |
http://technet.microsoft.com/ko-kr/library/ms177570.aspx
제한 사항
- Foreign Key 제약 조건에 의해 참조. 자신을 참조하는 Foreign Key가 있는 테이블을 Truncate 할 수 있다.
- 인덱싱된 뷰에 참여
- 트랜잭션 복제 또는 병합 복제에 의해 게시
테스트)
USE Northwind; GO
SELECT COUNT(*) AS BeforeTruncateCount FROM dbo.Test01; GO
TRUNCATE TABLE dbo.test01; GO
SELECT COUNT(*) AS AfterTruncateCount FROM dbo.Test01; GO |
'Microsoft SQL Server' 카테고리의 다른 글
전체 복구모델 데이터베이스 트랜잭션 로그 Truncate 동작 테스트 (0) | 2013.12.06 |
---|---|
Single User Mode - Alter Database 실패 (0) | 2013.12.06 |
SELECT 결과를 테이블에 삽입(Insert) (0) | 2013.12.04 |
SQL Server 2005 서비스 시작 계정 변경 (0) | 2013.11.23 |
SQL Server 2005 with SP4 지원? (0) | 2013.09.12 |
댓글