How can I fix this error : non supported SQL92?
It's all about {
and }
. You do not use them. Ojdbc won't parse it. Use different token instead of them.
This is probably due to the JDBC Escape syntax (see section 13.4 of the JDBC 4.1 specification). A JDBC driver should handle escapes between {
and }
and translate the escaped standard function, outer join etc to the database specific format.
As far as I know a driver should only parse the escapes if it occurs in the statement body itself, and not when it is inside text in the statement (as it is in your example). So to me this looks like a bug in the JDBC escape processing of your driver.