여러 가지가 포함된 복잡한 데이터베이스 구조를 생성할 때 외래 키 제약 조건, 뷰, 트리거, 함수가 포함된 테이블 등. 당신은 암시적으로 객체. 예를 들어 외래 키 제약 조건이 있는 테이블은 참조하는 테이블에 따라 다릅니다.
전체 데이터베이스 구조의 무결성을 보장하려면,포스트그레SQL다음을 확인하세요. 다른 객체가 여전히 의존하고 있는 객체는 삭제할 수 없습니다. 에 대한 예를 들어, 우리가 고려했던 제품 테이블을 삭제하려고 시도하는 경우 에서섹션 2.4.5, 이에 따른 주문 테이블을 사용하면 다음과 같은 결과가 발생합니다. 다음과 같은 오류 메시지:
DROP TABLE 제품;주의사항: 테이블 주문에 대한 제약 $1은 테이블 제품에 따라 다릅니다.
오류: 다른 개체가 테이블 제품에 종속되어 있으므로 테이블 제품을 삭제할 수 없습니다.
DROP ... CASCADE를 사용하여 종속 객체도 삭제하세요.
오류 메시지에는 유용한 힌트가 포함되어 있습니다: 원하지 않는 경우 모든 종속 객체를 개별적으로 삭제해야 합니다. 실행
DROP TABLE 제품 캐스케이드;
그리고 모든 종속 개체가 제거됩니다. 이 경우, 주문 테이블은 제거되지 않고 외국 테이블만 제거됩니다. 키 제약. (무엇인지 확인하고 싶다면삭제 ... 캐스케이드할 것이다, 달리다드롭없이캐스케이드그리고 읽어보세요공지메시지.)
모든 드롭 명령포스트그레SQL지원 지정캐스케이드. 물론 가능한 성격상 종속성은 개체 유형에 따라 다릅니다. 당신은 또한 할 수 있습니다 쓰다제한대신캐스케이드기본 동작을 얻으려면 다른 개체가 의존하는 개체의 삭제를 제한합니다.
참고:SQL 표준에 따라 다음을 지정합니다. 둘 중 하나제한또는캐스케이드필수입니다. 데이터베이스 시스템 없음 실제로는 그런 식으로 구현하지만 기본값이 행동은제한또는캐스케이드시스템에 따라 다릅니다.
참고:외래 키 제약 조건 종속성 및 직렬 열 종속성포스트그레SQL7.3 이전 버전은아님유지되거나 업그레이드 과정에서 생성되었습니다. 기타 모든 종속성 유형은 업그레이드 중에 올바르게 생성됩니다.
| 이전 | 집 | 롤 토토 : 문서 : 7.3 : 데이터 조작 |
| 기타 데이터베이스 객체 | 위로 | 데이터 조작 |