표준 ORACLE SQL 예제 테이블 EMP의 경우 스키마에 EMPNO가 기본 키이고 MGR이 현재 직원의 직접 관리자에 대한 EMPNO입니다 (외래 키는 테이블 자체를 참조 함).하나의 단일 테이블에서 종속 행을 재귀 적으로 삭제합니다.
질문 1 : 한 관리자를 삭제하고이 관리자로 작업하는 모든 사람을 직접 삭제하는 재귀 SQL 프로 시저를 작성하는 방법 , 직접보고하지 않은 사용자 포함?
질문 2 : 반복되는 기본 테이블에 의해 생성 된보기에서 삭제를 수행 할 수 있습니까?
IMO는 질문 1을 해결하는 "올바른"방법은 하위 삭제를 처리하는 ON DELETE 트리거를 정의하는 것입니다. YMMV. –
당신은'MGR'에 외래 키를 가지고 있습니다. 따라서 관리자 아래에있는 모든 직원을 반복적으로 삭제하려고한다면 그 직원 중 하나가 관리자 일 경우 어떻게해야합니까? 자식 레코드가 발견되어 제약 조건 오류가 발생해도 실패하지 않습니까? –