Hello Folks,
I stumbled upon a weird thing:
I am using the pass through facility in order to send a query to an ORACLE database and create a table.
When I run the second PROC SQL Statement in the picture below, it works fine:
However, when I run the upper PROC SQL Statement I get an error message, telling me the following:
"ORA-00933: SQL command not properly ended"
All I changed between the two PROC SQL Statements is that I assigned an ALIAS to the table WANT. Why does Oracle have trouble with this?
Any help from you guys would be much appreciated.
Thanks,
Felix
A guess:
When you supply an alias, SQL assumes that you will be reading from more than one source of data. After all, why assign an alias if you are only reading from one source? When SQL doesn't see a second source, it generates the error.
@Astounding: Thank you for your answer, but I do not think this is the reason. When running the following SAS code
proc sql;
select A.height
from sashelp.class as A;
quit;
I do not get any error messages in the log. But of course this could also be related to the fact that the above statment is being processed locally and not by the means of the pass through facility....
As you noted, it could be the pass-through feature. Each SQL implementation has its own quirks. Perhaps you could try a version of the successfully executing alias, but use that syntax directly on the pass-through system.
Yeah. Firstly you need make this SQL is a legal oracle SQL, talk to your oracle DBA.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.