테이블의 이름 (선택적으로 스키마 자격) 잘립니다. 만약에전용지정되어 있습니다 테이블 이름 이전에 해당 테이블 만 잘립니다. 만약에전용표를 지정하지 않았습니다 그리고 그 후손 테이블 (있는 경우)은 잘립니다. 선택적으로,*지정할 수 있습니다 테이블 이름 후에 그 후손을 명시 적으로 나타냅니다 테이블이 포함되어 있습니다.
의 열에서 소유 한 시퀀스를 자동으로 다시 시작합니다 잘린 테이블 (들).
시퀀스 값을 변경하지 마십시오. 이것은입니다 기본.
외국 키가있는 모든 테이블을 자동으로 자릅니다 명명 된 테이블 또는 테이블에 대한 참조 로 인해 그룹에 추가캐스케이드.
테이블 중 하나라도 외국 키가있는 경우 자르기 거부 명령에 나열되지 않은 테이블의 참조. 이것은 기본입니다.
당신은Truncate특권 그것을 자르기 위해 테이블에.
Truncate인수액세스 독점작동하는 각 테이블을 잠그십시오 on, 테이블의 다른 모든 동시 작업을 차단합니다. 언제신분을 다시 시작합니다지정되어 있습니다 다시 시작되는 시퀀스도 마찬가지로 잠겨 있습니다 독점적으로. 테이블에 동시에 액세스 해야하는 경우 필요합니다 그만큼삭제명령을 사용해야합니다 대신에.
Truncate테이블에서 사용할 수 없습니다 그것은 다른 테이블이 아니라면 다른 테이블에서 외국 키 참조가 있습니다 이러한 테이블도 같은 명령으로 잘립니다. 확인 그러한 경우의 유효성은 테이블 스캔이 필요하며 전체가 필요합니다. 포인트는 하나를하지 않습니다. 그만큼캐스케이드옵션을 사용하여 모든 종속 테이블을 자동으로 포함시킬 수 있습니다. - 그러나이 옵션을 사용할 때 매우 조심하십시오. 그렇지 않으면 의도하지 않은 데이터 손실!
Truncate발사하지 않을 것입니다ON DELETE테이블. 그러나 그것은 화재 될 것입니다on Truncate트리거. 만약에on Truncate트리거는입니다 모든 테이블에 대해 정의 된 다음 모두전기 전트리거가 시작되기 전에 발사됩니다 잘림이 발생하고 모두잘린마지막 절단 후 트리거가 발사됩니다 수행되고 모든 시퀀스가 재설정됩니다. 트리거가 발사됩니다 테이블을 처리 해야하는 순서 (먼저 나열된 것 명령에서 계단식).
TruncateMVCC-SAFE가 아닙니다. 후에 잘림, 테이블은 동시에 비어있는 것처럼 보입니다 트랜잭션, 이전에 찍은 스냅 샷을 사용하는 경우 잘림이 발생했습니다. 보다스포츠 토토 : 문서 : 9.1 : 경고자세한 내용은
Truncate트랜잭션-안전합니다 테이블의 데이터에 대한 존중 : 잘린 것은 안전하게 주변 거래가 커밋되지 않으면 롤백.
언제신분을 다시 시작지정되어 있습니다.
묵시적Alter Sequence Restart운영도 트랜잭션으로 수행됩니다. 즉, 그들은 될 것입니다
주변 거래가 커밋되지 않으면 롤백됩니다. 이것
의 정상적인 행동과는 다릅니다.ALTER
시퀀스 재시작. 추가 순서가 있으면
작업은 시작된 시퀀스에서 수행됩니다
트랜잭션이 롤백되며, 이러한 운영이
시퀀스는 롤백되지만에 미치는 영향은 아닙니다.currval ()
; 즉, 이후
거래currval ()
계속 될 것입니다
실패한 내부에서 얻은 마지막 순서 값을 반영합니다.
시퀀스 자체가 더 이상
그것과 일치합니다. 이것은 일반적인 행동과 유사합니다currval ()
실패 후
거래.
테이블을 잘라bigtableand격렬한:
bigtable, fattable;
동일하고 관련 시퀀스를 재설정합니다 발전기 :
Bigtable, Fattable Restart Identity를 잘라냅니다.
테이블을 잘라기타및 참조하는 테이블로 캐스케이드16719_16731외국 키 제약 조건을 통해 :
기타 테이블 캐스케이드를 잘라냅니다.