Pleasure resort of Gleam™

TRUNCATE TABLE

Dev & Mng2007.03.20 13:55

TRUNCATE TABLE

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

구문

TRUNCATE TABLE name

인수

name

잘라내거나 모든 행을 제거할 대상이 되는 테이블의 이름입니다.

비고

TRUNCATE TABLE은 기능적으로 WHERE 절이 없는 DELETE 문과 동일합니다. 둘 다 테이블에서 모든 행을 제거합니다. 그러나 TRUNCATE TABLE이 DELETE보다 더 빠르고 시스템 및 트랜잭션 로그 리소스를 덜 사용합니다.

DELETE 문은 행을 한 번에 하나씩 제거하고 각 삭제된 행에 대해 트랜잭션 로그에 항목을 기록합니다. TRUNCATE TABLE은 테이블의 데이터를 저장하는 데 사용된 데이터 페이지를 할당 취소하여 데이터를 제거하며 페이지 할당 취소만을 트랜잭션 로그에 기록합니다.

TRUNCATE TABLE은 테이블에서 모든 행을 제거하지만 테이블 구조와 그 열, 제약 조건, 인덱스 등은 그대로 남습니다. 새로운 행에 ID로 사용된 카운터는 열에 대한 시드로 재설정됩니다. ID 카운터를 보존하려면 DELETE를 대신 사용하십시오. 테이블 정의 및 그 데이터를 제거하려면 DROP TABLE 문을 사용하십시오.

FOREIGN KEY 제약 조건에 참조되는 테이블에서는 TRUNCATE TABLE을 사용할 수 없으며 대신 WHERE 절 없는 DELETE 문을 사용합니다. TRUNCATE TABLE은 로그되지 않으므로 트리거를 활성화할 수 없습니다.

TRUNCATE TABLE은 인덱스된 뷰에 참여 중인 테이블에서는 사용할 수 없습니다.

예제

다음은 authors 테이블에서 모든 데이터를 제거하는 예제입니다.

TRUNCATE TABLE authors
사용 권한

TRUNCATE TABLE은 테이블 소유자, sysadmin 고정 서버 역할 및 db_ownerdb_ddladmin 고정 데이터베이스 역할에 대한 권한 기본값이며 전송할 수 없습니다.

truncate table EEMTB_AssociationMember
insert INTO EEMTB_AssociationMember Select * FROM dbo.EEMTB_AssociationMember_031918
Select * FROM dbo.EEMTB_AssociationMember

'Dev & Mng' 카테고리의 다른 글

Hotfix 설치 하지 않고 압축만 풀기  (0) 2007.03.27
TRUNCATE TABLE  (0) 2007.03.20
scrollTop 값이 0 으로면 나온다면??  (0) 2007.03.14
WebDevHelper  (0) 2007.03.14

Comment +0