2025 년 9 월 4 일 :사설 토토 18 RC 1 릴리스!
이 문서는 지원되지 않는 버전의 사설 토토 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 5.15. 토토 사이트 추천성 추적버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

5.12. 의존성 추적

많은 사람들과 관련된 복잡한 데이터베이스 구조를 만들 때 외국의 주요 제약 조건, 뷰, 트리거, 기능이있는 테이블 등. 당신은 암시 적으로 사물. 예를 들어, 외국 키 제약 조건이있는 테이블 IT 참조 테이블에 따라 다릅니다.

전체 데이터베이스 구조의 무결성을 보장하려면사설 토토당신을 확인하십시오 다른 객체가 여전히 의존하는 객체를 떨어 뜨릴 수 없습니다. 을 위한 예를 들어, 우리가 고려한 제품 테이블을 삭제하려고섹션 5.3.5에 따라 주문 테이블과 함께 다음과 같은 오류 메시지 :

드롭 테이블 제품;

오류 : 다른 객체가 그것에 의존하기 때문에 테이블 제품을 삭제할 수 없습니다.
세부 사항 : 제약 조건 Orders_Product_no_fkey 테이블 주문에 따라 테이블 제품에 따라 다릅니다.
힌트 : Drop ... Cascade를 사용하여 종속 객체를 떨어 뜨립니다.

오류 메시지에는 유용한 힌트가 포함되어 있습니다. 모든 종속 객체를 개별적으로 삭제하는 것을 귀찮게하십시오 달리다:

드롭 테이블 제품 캐스케이드;

그리고 모든 종속 객체가 제거됩니다. 이 경우 주문 테이블을 제거하지 않고 외국 키 만 제거합니다. 강제. (무엇을 확인하고 싶다면드롭 ... 종속드롭없음캐스케이드읽기세부 사항출력.)

all드롭명령사설 토토지원 지정캐스케이드. 물론 가능성의 본질 종속성은 객체의 유형에 따라 다릅니다. 당신은 또한 쓸 수 있습니다제한대신캐스케이드기본 동작을 얻으려면 다른 객체가 의존하는 물체가 떨어지는 것을 방지합니다.

참고 :SQL 표준에 따라 어느 쪽이든 지정제한또는캐스케이드at드롭명령. 데이터베이스 시스템이 실제로 시행되지 않습니다 그 규칙이지만 기본 동작이제한또는캐스케이드다양합니다 시스템 전체.

사용자 정의 함수의 경우사설 토토관련 종속성을 추적합니다 인수와 같은 함수의 외부가 가시 가능한 속성 그리고 결과 유형이지만not기능을 검사 하여만 알 수있는 종속성 몸. 예를 들어,이 상황을 고려하십시오 :

유형 무지개 생성 enum ( '빨간색', '오렌지', '옐로우',
                             '녹색', '파란색', '보라색');

테이블 my_colors (색상 무지개, 참고 텍스트)를 만듭니다.

함수 생성 get_color_note (Rainbow) 텍스트를 반환합니다
  'color = $ 1'인 my_colors에서 메모를 선택하십시오.
  언어 SQL;

(참조503 토토 베이 페치 실패SQL 언어 기능의 설명.)사설 토토get_color_note함수는에 따라 다릅니다.레인보우유형 : 유형을 떨어 뜨리면 강제가 떨어집니다 인수 유형은 더 이상 정의되지 않기 때문에 함수. 하지만사설 토토고려하지 않을 것입니다get_color_note에 의존하려면my_colors테이블이므로 떨어지지 않습니다 테이블이 떨어지면 기능. 단점이 있지만 이 접근법에는 이점도 있습니다. 기능은 여전히 ​​있습니다 테이블을 실행하더라도 테이블이 누락 된 경우 어떤 의미에서 유효합니다. 오류가 발생합니다. 같은 이름의 새 테이블을 만드는 것입니다 기능이 다시 작동하도록 허용하십시오.