その場合、Outter結合は「期待どおりに」機能しません。これは、そのテーブルの基準が一致する場合にのみデータが必要であるとOracleに明示的に指示したためです。そのシナリオでは、外部結合は役に立たなくなります。
回避策
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 = ?)
)
[編集]副選択から複数の行が予想される場合は、各where句にROWNUM =1を追加するか、MAXやMINなどの集計を使用できます。もちろん、これがすべての場合に最適なソリューションではない場合があります。
[編集]コメントごと、
(SELECT account_type_standard_seq.nextval FROM DUAL),
ただ
account_type_standard_seq.nextval,