적용 대상:
Databricks SQL
Databricks Runtime
테이블 또는 파티션에서 모든 행을 제거합니다. 테이블은 뷰나 임시 테이블이 되어서는 안 됩니다. 델타 호수 테이블은 관리형이든 외부형이든 잘라낼 수 있습니다. Parquet, CSV, ORC 등 다른 테이블 형식의 경우, 테이블은 외부에 있어서는 안 됩니다. 여러 파티션을 동시에 절단하려면 에 할당 partition_spec된 파티션을 지정합니다. 아니 partition_spec 면 테이블 내 모든 파티션이 제거됩니다.
메모
Delta Lake는 TRUNCATE 파티션 구문을 지원하지 않습니다.
테이블이 캐시되면 명령은 테이블의 캐시된 데이터와 테이블을 참조하는 모든 종속 데이터를 지웁니다. 테이블 또는 종속 항목에 다음 번에 접근할 때 캐시는 느리게 로드됩니다.
구문
TRUNCATE TABLE table_name [ PARTITION clause ]
매개 변수
-
잘릴 테이블의 이름입니다. 이름에는 임시 사양 또는 옵션 사양이 포함되어서는 안됩니다. 테이블을 찾을 수 없는 경우 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.
-
파티션의 선택적 사양입니다. Delta Lake에서 지원되지 않습니다.
예제
-- Create table Student with partition
> CREATE TABLE Student (name STRING, rollno INT) PARTITIONED BY (age INT);
> SELECT * FROM Student;
name rollno age
---- ------ ---
ABC 1 10
DEF 2 10
XYZ 3 12
-- Remove all rows from the table in the specified partition
> TRUNCATE TABLE Student partition(age=10);
-- After truncate execution, records belonging to partition age=10 are removed
> SELECT * FROM Student;
name rollno age
---- ------ ---
XYZ 3 12
-- Remove all rows from the table from all partitions
> TRUNCATE TABLE Student;
> SELECT * FROM Student;
name rollno age
---- ------ ---