I have a special level of hate for oracle full text searches as well, which requires embedding an additional complex search syntax into a text string, so you can't use binds in any reliable way without sanitisation.
There is no interface that I can see that takes a temp table or set of parameters.
I've also grown to dislike their (+) syntax. Super convenient but mixing the left joins into the WHERE clauses makes them get lost pretty easily.
I've also spent a ton of time with mystery crashes in large queries in PHP and Java where the crash only seemed to occur if the prepared statements had \r\n instead of \n, or went away on clearing statement cache until next time a set of statements were loaded.
Oh, and the annoying VARCHAR limits - thankfully higher than the 4000 it was at for a long time, but still irritating even now. Trivial example: select listagg(level,',') from dual connect by level <= 8000
There is no interface that I can see that takes a temp table or set of parameters.
I've also grown to dislike their (+) syntax. Super convenient but mixing the left joins into the WHERE clauses makes them get lost pretty easily.
I've also spent a ton of time with mystery crashes in large queries in PHP and Java where the crash only seemed to occur if the prepared statements had \r\n instead of \n, or went away on clearing statement cache until next time a set of statements were loaded.
Oh, and the annoying VARCHAR limits - thankfully higher than the 4000 it was at for a long time, but still irritating even now. Trivial example: select listagg(level,',') from dual connect by level <= 8000