DROP TABLE 명령: 하이브리드 테이블을 위한 CASCADE 동작 변경(보류 중)¶
이 동작 변경 번들을 활성화하면 CASCADE/RESTRICT 매개 변수의 기본 설정이 하이브리드 테이블 에 대해 달라집니다. 이 변경 사항은 표준 테이블에는 적용되지 않습니다.
- 변경 전:
RESTRICT 또는 CASCADE 를 지정하지 않고 하이브리드 테이블을 삭제하고 하이브리드 테이블이 다른 테이블과 기본 키/외래 키 또는 고유 키/외래 키 관계를 갖는 경우 DROP TABLE 명령이 성공합니다.
기본 동작은 CASCADE 입니다.
CREATE OR REPLACE HYBRID TABLE ht1( col1 NUMBER(38,0) NOT NULL, col2 NUMBER(38,0) NOT NULL, CONSTRAINT pkey_ht1 PRIMARY KEY (col1, col2)); CREATE OR REPLACE HYBRID TABLE ht2( cola NUMBER(38,0) NOT NULL, colb NUMBER(38,0) NOT NULL, colc NUMBER(38,0) NOT NULL, CONSTRAINT pkey_ht2 PRIMARY KEY (cola), CONSTRAINT fkey_ht1 FOREIGN KEY (colb, colc) REFERENCES ht1(col1,col2)); DROP TABLE ht1;
DROP TABLE 명령은 오류 없이 성공합니다.
- 변경 후:
RESTRICT 또는 CASCADE 옵션을 지정하지 않고 하이브리드 테이블을 삭제하고 하이브리드 테이블이 다른 테이블과 기본 키/외래 키 또는 고유 키/외래 키 관계를 갖는 경우 DROP TABLE 명령이 오류와 함께 실패합니다.
기본 동작은 RESTRICT 입니다.
예:
DROP TABLE ht1;
SQL compilation error: Cannot drop the table because of dependencies
이 경우 DROP TABLE 명령은 실패합니다. 필요한 경우 DROP TABLE 명령에 CASCADE 를 지정하여 기본 동작을 재정의할 수 있습니다.
DROP TABLE ht1 CASCADE;
또는 이 경우 종속성 테이블
ht2
를 먼저 삭제한 다음 테이블ht1
을 삭제할 수 있습니다.
Ref: 1741