클라우드 데이터베이스 Oracle 12c 가이드 (2016년)
Cascade 기능 0 0 35,903

by 구루비스터디 partition Cascade partition Cascade [2023.09.03]


Truncate partition 의 개선

  • reference partition 사용 시 truncate partition 명령어와 exchange partition 의 옵션으로 쓰일 수 있음
  • 부모-자식 테이블 간 on delete cascade 옵션으로 정의되어 있어야 한다
SQL> select count(*) from orders partition (p_1);

COUNT(*)   
-----------
      90753

1 rows selected.

SQL> select count(*) from order_items partition (p_1);

COUNT(*)   
-----------
      90753

1 rows selected.

SQL> alter table orders truncate partition (p_1) cascade;

Statement Processed.
SQL> select count(*) from orders partition (p_1);

COUNT(*)   
-----------
          0

1 rows selected.

SQL> select count(*) from order_items partition (p_1);

COUNT(*)   
-----------
          0

1 rows selected.


  • 반면 11g 에서는 아래와 같은 에러가 발생한다.

SQL> select count(*) from orders partition (p_1);

COUNT(*)   
-----------
      66187

1 rows selected.

SQL> select count(*) from order_items partition (p_1);

COUNT(*)   
-----------
      66187

1 rows selected.

SQL> alter table orders truncate partition (p_1) cascade
ORA-14054: invalid ALTER TABLE TRUNCATE PARTITION option


  • 12c 에서도 on delete cascade 옵션이 정의되지 않으면 다음과 같은 에러가 발생한다

SQL> alter table orders truncate partition (p_1) cascade
ORA-14705: unique or primary keys referenced by enabled foreign keys in table "TESTUSER"."ORDER_ITEMS"


"구루비 데이터베이스 스터디모임" 에서 2016년에 "클라우드 데이터베이스 Oracle 12c 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4262

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

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