Краткий ответ - просто включить (+)
для обоих терминов:
WHERE LIQ.ID (+) = SEC.ID AND LIQ.UPD_DT (+) >= '08-JAN-19'
хотя вы, похоже, сравниваете дату со строкой, полагаясь на неявное преобразование и настройки NLS; если это так, преобразуйте его или используйте литерал даты:
WHERE LIQ.ID (+) = SEC.ID AND LIQ.UPD_DT (+) >= DATE '2019-01-08'
Но переход от «современного» (после 1992 г.) синтаксиса соединения ANSI к древнему и проприетарному синтаксису Oracle кажется очень странным занятием. Даже Oracle рекомендует вы используете не используйте их синтаксис:
Oracle рекомендует использовать синтаксис FROM
clause OUTER JOIN
вместо оператора соединения Oracle. На запросы внешнего соединения, использующие оператор соединения Oracle (+)
, распространяются следующие правила и ограничения, которые не применяются к синтаксису FROM
clause OUTER JOIN
:
...
(хотя в их документах еще много примеров кода, которые бесполезно ...)
Раньше были некоторые ошибки в синтаксисе ANSI, и все еще могут быть редкие случаи, когда вы видите другое поведение или не можете использовать новый синтаксис; но это маловероятно, и если у вас есть запрос, который работает, то, похоже, нет никакого преимущества в регрессе к старым способам.