interval로 설정된 파티션 삭제하기 0 1 663

by webma [PL/SQL] [2020.01.05 02:10:29]


안녕하세요. 

몇일전에 마농님께 파티션 관련하여 도움을 받았던 초보자 입니다.

 

아래와 같이 TIMESTAMP 기준으로 interval 파티션으로 나눴습니다.

 CREATE TABLE PTEST
  (
      REG_DT      TIMESTAMP,
      SALE        NUMBER,
      
      CONSTRAINT PK_PTEST PRIMARY KEY(REG_DT)
      
  )
  PARTITION BY RANGE(REG_DT)
   interval (numtodsinterval(1,'DAY'))
  (
      PARTITION SYS_01 VALUES LESS THAN ('20191201')
  )

지금 데이터는 잘들어 오고 있습니다.

개발하려는 작업은 프로시저에서 입력파라미터로 특정날짜를 입력받아서

90일전의 파티션을 TRUNCATE 하려고 하는데요

제가 알기로는 interval로 나눈 파티션은 시스템이 자동으로 나눠준다고 알고 있습니다.

이럴경우 어떻게 파티션을 TRUNCATE 시켜야 하는지 해서요..

자료를 찾아보니 FOR문으로 하면 될듯 한데 도통 몰라 도움을 받고자 합니다.

 

그럼 수고하세요.

 

 

 

by chrome [2020.01.07 11:36:11]

alter table test truncate partition for (to_date('20200107','YYYYMMDD')-90);

 

하면 됩니다. 파티션 삭제를 할경우는 truncate 대신 drop 이고요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입