2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 사설 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 5.15. 토토 사이트 추천성 추적버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

5.12. 종속성 추적

여러 가지가 포함된 복잡한 데이터베이스 구조를 생성할 때 외래 키 제약 조건, 뷰, 트리거, 함수가 포함된 테이블 등. 당신은 암시적으로 객체. 예를 들어 외래 키 제약 조건이 있는 테이블은 참조하는 테이블에 따라 다릅니다.

전체 데이터베이스 구조의 무결성을 보장하려면,포스트그레SQL다음을 확인하세요. 다른 객체가 여전히 의존하고 있는 객체는 삭제할 수 없습니다. 에 대한 예를 들어, 우리가 고려한 제품 테이블을 삭제하려고 시도합니다.섹션 5.3.5, 그에 따른 주문 테이블을 사용하면 다음과 같은 결과가 발생합니다. 다음과 같은 오류 메시지가 나타납니다:

드롭 테이블 제품;

오류: 다른 객체가 테이블 제품에 의존하기 때문에 테이블 제품을 삭제할 수 없습니다.
DETAIL: 테이블 주문에 대한 Orders_product_no_fkey 제한은 테이블 제품에 따라 다릅니다.
힌트: 종속 개체도 삭제하려면 DROP ... CASCADE를 사용하세요.

오류 메시지에는 유용한 힌트가 포함되어 있습니다: 원하지 않는 경우 모든 종속 객체를 개별적으로 삭제해야 합니다. 실행:

DROP TABLE 제품 캐스케이드;

그리고 모든 종속 개체가 제거됩니다. 이 경우에는 주문 테이블은 제거하지 않고 외래 키만 제거합니다. 제약. (무엇인지 확인하고 싶다면삭제 ... 캐스케이드할 것이다, 달리다드롭없이캐스케이드그리고 읽어보세요세부정보출력.)

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

참고:SQL 표준에 따라 다음 중 하나를 지정제한또는캐스케이드a에서 필요합니다.드롭명령. 실제로 시행되는 데이터베이스 시스템은 없습니다. 해당 규칙이지만 기본 동작은 다음과 같습니다.제한또는캐스케이드다양함 시스템 전반에 걸쳐.

사용자 정의 함수의 경우,사설 토토다음과 관련된 종속성을 추적합니다. 인수와 같은 함수의 외부에서 볼 수 있는 속성 및 결과 유형이지만아님함수를 검사해야만 알 수 있는 종속성 몸. 예를 들어 다음 상황을 고려해보세요.

CREATE TYPE 레인보우 AS ENUM('빨간색', '주황색', '노란색',
                             '녹색', '파란색', '보라색');

CREATE TABLE my_colors(무지개 색상, 메모 텍스트);

CREATE FUNCTION get_color_note(무지개) 텍스트를 AS로 반환합니다.
  '색상 = $1인 my_colors에서 메모 선택'
  언어 SQL;

(참조503 토토 베이 페치 실패에 대한 SQL 언어 함수에 대한 설명입니다.)사설 토토다음을 알게 될 것입니다get_color_note함수는 다음에 따라 다릅니다.무지개type: 유형을 삭제하면 강제로 삭제됩니다. 함수의 인수 유형이 더 이상 정의되지 않기 때문입니다. 하지만포스트그레SQL고려하지 않을 것입니다get_color_note의존하다my_colors테이블이므로 삭제되지 않습니다. 테이블이 삭제된 경우의 함수입니다. 단점이 있는 반면 이 접근 방식에는 이점도 있습니다. 기능은 아직 테이블이 누락된 경우에도 어떤 의미에서는 유효합니다. 오류가 발생합니다. 같은 이름의 새 테이블을 생성하면 기능이 다시 작동하도록 허용하세요.