| 윈 토토 : 문서 : 9.4 : | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 기타 메이저 토토 사이트 개체 | 배트맨 토토 : 문서 : 9.4 : 데이터 정의 | 5장. 데이터 정의 | PostgreSQL : 문서 : 9.4 : 스포츠 토토 베트맨 조작 | 
외래 키 제약 조건, 뷰, 트리거, 함수 등이 포함된 많은 테이블이 포함된 복잡한 데이터베이스 구조를 생성하면 암시적으로 개체 간의 종속성 그물이 생성됩니다. 예를 들어 외래 키 제약 조건이 있는 테이블은 참조하는 테이블에 따라 달라집니다.
전체 데이터베이스 구조의 무결성을 보장하려면,포스트그레SQL다른 객체가 여전히 의존하고 있는 객체를 삭제할 수 없도록 합니다. 예를 들어, 우리가 고려한 제품 테이블을 삭제하려고 시도합니다.섹션 5.3.5, 이에 따른 주문 테이블이 있으면 다음과 같은 오류 메시지가 표시됩니다.
드롭 테이블 제품; 오류: 다른 객체가 테이블 제품에 의존하기 때문에 테이블 제품을 삭제할 수 없습니다. DETAIL: 테이블 주문에 대한 Orders_product_no_fkey 제한은 테이블 제품에 따라 다릅니다. 힌트: 종속 개체도 삭제하려면 DROP ... CASCADE를 사용하세요.
오류 메시지에는 유용한 힌트가 포함되어 있습니다. 모든 종속 개체를 개별적으로 삭제하지 않으려면 다음을 실행할 수 있습니다.
DROP TABLE 제품 캐스케이드;
및 모든 종속 개체가 제거됩니다. 이 경우 주문 테이블은 제거되지 않고 외래 키 제약 조건만 제거됩니다. (무엇인지 확인하고 싶다면삭제 ... 캐스케이드할 것이다, 달리다드롭없이캐스케이드그리고 읽어보세요세부정보출력.)
모두드롭명령포스트그레SQL지원 지정캐스케이드. 물론 가능한 종속성의 특성은 개체 유형에 따라 다릅니다. 쓸 수도 있습니다제한대신에캐스케이드다른 개체가 의존하는 개체의 삭제를 방지하는 기본 동작을 가져옵니다.
참고:SQL 표준에 따라 다음 중 하나를 지정제한또는캐스케이드a에서 필요합니다.드롭명령. 실제로 해당 규칙을 시행하는 데이터베이스 시스템은 없지만 기본 동작은 다음과 같습니다.제한또는캐스케이드시스템에 따라 다릅니다.
사용자 정의 함수의 경우,토토 꽁 머니인수 및 결과 유형과 같이 함수의 외부에 표시되는 속성과 관련된 종속성을 추적하지만아님함수 본문을 검사해야만 알 수 있는 종속성. 예를 들어 다음 상황을 고려해보세요.
CREATE TYPE 레인보우 AS ENUM('빨간색', '주황색', '노란색',
                             '녹색', '파란색', '보라색');
CREATE TABLE my_colors(무지개 색상, 메모 텍스트);
CREATE FUNCTION get_color_note(무지개) 텍스트를 AS로 반환합니다.
  '색상 = $1인 my_colors에서 메모 선택'
  언어 SQL;
(참조4_조메이저 토토 사이트0SQL 언어 함수에 대한 설명입니다.)토토 꽁 머니다음을 알게 될 것입니다get_color_note함수는 다음에 따라 다릅니다.무지개유형: 유형을 삭제하면 해당 인수 유형이 더 이상 정의되지 않으므로 함수가 강제로 삭제됩니다. 하지만포스트그레SQL고려하지 않을 것입니다get_color_note의존하다my_colors테이블이므로 테이블이 삭제되더라도 함수는 삭제되지 않습니다. 이 접근 방식에는 단점도 있지만 장점도 있습니다. 테이블이 누락된 경우에도 함수는 어떤 의미에서는 여전히 유효하지만 이를 실행하면 오류가 발생합니다. 동일한 이름의 새 테이블을 생성하면 함수가 다시 작동할 수 있습니다.