2009-06-30 3 views

답변

3

AFAICT 외래 키는 2.1까지의 Firebird에서 비활성화 할 수 없습니다.
삭제하고 다시 만들어야합니다.
Devshed에 similar thread이 있습니다.

+1

+1. 시스템 테이블을 보여주는 도구를 사용하면 RDB $ RELATION_CONSTRAINTS에 외래 키 제약 조건을 해제 할 수있는 필드가 없다는 것을 알 수 있습니다. 인덱스 OTOH는 비활성으로 만들 수 있으며 RDB $ INDICES에는 필드 RDB $ INDEX_INACTIVE가 있습니다. – mghie

+0

예, 제약 조건을 지원하는 인덱스는 비활성화 할 수 없습니다. 그렇게하면 오류가 발생합니다. –

0

유일한 방법은 삭제 한 다음 나중에 다시 만드는 것입니다. 제약 조건은 데이터가 아니므로 데이터베이스에서 정보를 잃지 않으므로 무해한 작업입니다 (나중에 스크립트를 다시 작성해야하는 경우).

SVN 저장소에있는 FlameRobin 버전에는 선택된 테이블 열 종속성에 대해 DROP 및 CREATE 스크립트를 자동으로 생성하는 옵션이 있습니다. 마지막 공식 릴리스에는 전체 테이블에 대해 동일한 옵션이 있으므로 도움이 될 수 있습니다. 그러나 전체 데이터베이스에 대해 수행 할 수있는 옵션은 없습니다. 어쩌면 다른 관리자 일 수도 있습니다. 도구에는 해당 기능이 있습니다.

관련 문제