TRUNCATE TABLE¶
테이블에서 모든 행을 제거하지만, 테이블은 그대로 둡니다(테이블에 대한 모든 권한과 제약 조건 포함). 또한, 테이블에 대한 로드 메타데이터를 삭제하여 명령 완료 후 같은 파일을 테이블로 다시 로딩할 수 있게 합니다.
이것은 시스템에서 테이블을 제거하되 복구할 수 있도록 (로드 기록과 함께) 테이블 버전을 유지하는 DROP TABLE 과 다릅니다.
- 참고 항목:
구문¶
매개 변수¶
name자를 테이블의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다(예:
"My Object").테이블 식별자가 (
db_name.schema_name.table_name또는schema_name.table_name형식으로) 정규화되지 않은 경우 이 명령은 세션의 현재 스키마에서 테이블을 찾습니다.ERROR_TABLE( base_table_name )지정된 기본 테이블과 연결된 오류 테이블을 자릅니다. 오류 테이블에 대한 자세한 내용은 DML 오류 로깅 섹션을 참조하세요.
식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다(예:
"My Object").테이블 식별자가 (
db_name.schema_name.table_name또는schema_name.table_name형식으로) 정규화되지 않은 경우 이 명령은 세션의 현재 스키마에서 테이블을 찾습니다.
사용법 노트¶
DELETE 와 TRUNCATE TABLE은 둘 다 데이터 보존 기간에 복구 목적으로(즉, Time Travel 사용) 삭제된 데이터를 유지 관리합니다. 하지만 테이블이 잘리면 로드 메타데이터를 복구할 수 없습니다.
테이블 이름이 정규화되거나 데이터베이스와 스키마가 현재 세션에 사용 중인 경우
TABLE키워드는 선택 사항입니다.
예¶
다음 예제에서는 테이블을 자릅니다.
기본 테이블을 생성하고 데이터를 삽입합니다.
테이블을 자릅니다.
이제 테이블이 비어 있는지 확인합니다.