Postgresql 9.1.24 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.1 : 기타 토토 캔 개체 | 토토 핫 : 문서 : 9.1 : 데이터 정의 | 5 장. 데이터 정의 | 배트맨 토토 : 문서 : 9.1 : 데이터 조작 |
많은 사람들과 관련된 복잡한 데이터베이스 구조를 만들 때 외국의 주요 제약 조건, 뷰, 트리거, 기능이있는 테이블 등. 당신은 암시 적으로 사물. 예를 들어, 외국 키 제약 조건이있는 테이블 IT 참조 테이블에 따라 다릅니다.
전체 데이터베이스 구조의 무결성을 보장하려면postgresql당신을 확인하십시오 다른 객체가 여전히 의존하는 객체를 떨어 뜨릴 수 없습니다. 을 위한 예를 들어, 우리가 고려한 제품 테이블을 삭제하려고섹션 5.3.5에 따라 주문 테이블이있는 경우 다음과 같은 오류 메시지 :
드롭 테이블 제품; 오류 : 다른 객체가 그것에 의존하기 때문에 테이블 제품을 삭제할 수 없습니다. 세부 사항 : 제약 조건 Orders_Product_no_fkey 테이블 주문에 따라 테이블 제품에 따라 다릅니다. 힌트 : Drop ... Cascade를 사용하여 토토 핫 객체를 떨어 뜨립니다.
오류 메시지에는 유용한 힌트가 포함되어 있습니다. 모든 토토 핫 객체를 개별적으로 삭제하는 것을 방해하려면, 당신은 당신입니다 실행할 수 있습니다 :
드롭 테이블 제품 캐스케이드;
그리고 모든 토토 핫 객체가 제거됩니다. 이 경우 주문 테이블을 제거하지 않고 외국 만 제거합니다. 주요 제약. (무엇을 확인하고 싶다면드롭 ... 캐스케이드will do, run드롭없음캐스케이드및 읽기세부 사항출력.)
all드롭명령PostgreSQL지원 지정캐스케이드. 물론 가능성의 본질 토토 핫은 객체의 유형에 따라 다릅니다. 당신도 할 수 있습니다 쓰다제한대신캐스케이드기본 동작을 얻으려면 다른 객체가 의존하는 물체가 떨어지는 것을 방지합니다.
참고 :SQL 표준에 따라 지정 어느 하나제한또는캐스케이드at드롭명령. 실제로 데이터베이스 시스템이 없습니다 그 규칙을 시행하지만 기본 동작이제한또는캐스케이드시스템마다 다릅니다.
사용자 정의 함수의 경우PostgreSQL관련 토토 핫을 추적합니다 함수의 외부가 가시 가능한 속성 (예 : ITS) 인수 및 결과 유형이지만not기능 본문을 검사하여 알려져 있습니다. 예를 들어 고려하십시오 이 상황 :
유형 무지개 생성 열거 ( 'Red', 'Orange', 'Yellow', '녹색', '파란색', '보라색'); 테이블 my_colors (색상 무지개, 참고 텍스트)를 만듭니다. 함수 생성 get_color_note (Rainbow) 텍스트를 반환합니다 'color = $ 1'인 my_colors에서 메모를 선택하십시오. 언어 SQL;
(참조43_4 | 사설 토토 핫 사이트SQL 언어 기능의 설명.)PostgreSQLget_color_note
함수는
그만큼레인보우유형 : 유형을 떨어 뜨립니다
인수 유형은
더 이상 정의됩니다. 하지만PostgreSQL고려하지 않을 것입니다get_color_note
에 의존하려면my_colors테이블이 있으므로
테이블이 떨어지면 기능합니다. 단점이 있지만
이 접근법에는 이점도 있습니다. 기능은 여전히 있습니다
테이블을 실행하더라도 테이블이 누락 된 경우 어떤 의미에서 유효합니다.
오류가 발생합니다. 같은 이름의 새 테이블을 만드는 것입니다
기능이 다시 작동하도록 허용하십시오.
이전 | 홈 | 배트맨 토토 : 문서 : 9.1 : 데이터 조작 |
다른 데이터베이스 사물 | up | 데이터 시장 조작 |