Half and half.
An older SQL*Plus client can recognize something starting with SELECT and send it off to the database, so a SELECT CASE.... isn't a problem.
MERGE is liable to confuse it though. It doesn't know MERGE is a new SQL command and throws it back at you the same is if you misspell an SQL*Plus command word.
Also older clients may have problems with newer datatypes (eg TIMESTAMP)
And obviously you don't get the newest SQL*Plus features
I basically have a reporting application that runs a query and then outputs the data to a spreadsheet. One of my reports has a large CASE statement which when run from a nice SQL gui tool like toad on my own machine it works fine.
However when the query is embedded in the report it throws up a syntax error.
The actual query uses CASE
eg
SELECT ename, CASE WHEN sal>1000 THEN 'Over paid' ELSE 'Under paid' END FROM emp;
The report connects to the db via a JDBC connection. The db is 9i.
What I am trying really to figure out is whether this is due to 8.1.7 client given CASE is supposedly only 9i.
Also where can i find more info regarding this type of issue and even maybe a compare between 8i client and 9i Client. Have exchausted oracle doco and the web.
Bookmarks