티스토리 뷰

Microsoft SQL Server

Truncate Table

GCB 2013. 12. 6. 12:56

개별 행 삭제를 로깅하지 않고 모든 행을 테이블에서 제거한다.

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

   

   

댓글
글 보관함
최근에 달린 댓글
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Total
Today
Yesterday