Outter-joins werken in dat geval niet "zoals verwacht", omdat u Oracle expliciet hebt verteld dat u alleen gegevens wilt als die criteria in die tabel overeenkomen. In dat scenario wordt de buitenste join onbruikbaar gemaakt.
Een tijdelijke oplossing
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 = ?)
)
[Bewerken]Als u meerdere rijen verwacht van een subselectie, kunt u ROWNUM=1 toevoegen aan elke where-clausule OF een aggregaat zoals MAX of MIN gebruiken. Dit is natuurlijk niet in alle gevallen de beste oplossing.
[Bewerken] Per reactie,
(SELECT account_type_standard_seq.nextval FROM DUAL),
kan gewoon zijn
account_type_standard_seq.nextval,