Vnější spojení v takovém případě nefungují „jak se očekávalo“, protože jste společnosti Oracle výslovně řekli, že chcete data pouze v případě, že tato kritéria v této tabulce odpovídají. V tomto scénáři je vnější spojení nepoužitelné.
Řešení
INSERT INTO account_type_standard
(account_type_Standard_id, tax_status_id, recipient_id)
VALUES(
(SELECT account_type_standard_seq.nextval FROM DUAL),
(SELECT tax_status_id FROM tax_status WHERE tax_status_code = ?),
(SELECT recipient_id FROM recipient WHERE recipient_code = ?)
)
[Upravit]Pokud očekáváte více řádků z dílčího výběru, můžete přidat ROWNUM=1 ke každé klauzuli where NEBO použít agregaci, například MAX nebo MIN. To samozřejmě nemusí být nejlepší řešení pro všechny případy.
[Upravit] Za komentář,
(SELECT account_type_standard_seq.nextval FROM DUAL),
může být jen
account_type_standard_seq.nextval,