코드가있는 많은 테이블과 긴 ID가있는 설명이 있습니다.오라클 인서트를 통해 하나의 테이블에 행이 없을 수도있는 여러 테이블에서 선택
지금 코드의 숫자를 참조하는 계정 유형에 대한 항목을 만들려면, 그래서 이런 일이 :이 일치하는 경우 tax_status 사람과받는 사람 테이블에서 적절한 값을 검색
을insert into account_type_standard (account_type_Standard_id,
tax_status_id, recipient_id)
(select account_type_standard_seq.nextval,
ts.tax_status_id, r.recipient_id
from tax_status ts, recipient r
where ts.tax_status_code = ?
and r.recipient_code = ?)
해당 코드에 대해 발견됩니다. 불행히도, recipient_code는 Nullable이므로? 대입 값은 null 일 수 있습니다. 물론 암시 적 조인은 행을 반환하지 않으므로 행이 내 테이블에 삽입되지 않습니다.
나는 NVL을 사용해 보았습니다. 및 r.recipient_id에.
r.recipient_code =에서 외부 조인을 강제 실행하려고 시도했습니다. (+)를 추가하여 명시 적 조인이 아니기 때문에 Oracle은 여전히 다른 행을 추가하지 않았습니다.
누구나이 방법을 알고 있습니까?
외부로 recipient_id 조회를 수행 할 수 있도록 명세서를 수정할 수 있습니까? r.recipient_id 대신받는 사람 테이블에서 선택하지 마십시오.하지만이 모든 것을 1 개의 SQL 문에서 수행하는 것을 선호합니다.
하지 않습니다 이 문제는 tax_status 또는받는 사람에 여러 항목이 있고 NULL받는 사람에게 발생하는 문제입니다. ient_code? –
account_type_standard의 recipient_id 열에 null 수신자 코드 결과가 null로 표시됩니다. 여러 항목에 대해 잘 모릅니다. 그러나 제 경우에는 테이블에 고유 한 코드가 있으므로 괜찮습니다. – Mikezx6r
Tony Andrews에 따르면, 시퀀스 값으로 DUAL에서 선택하지 않아도됩니다. account_type_standard_seq.nextval 만 있으면됩니다. – Mikezx6r