Hello all, here is the issue, the following nonsense query will run in ASA 8. It seems to be an issue of combining old and new syntax for joining tables. To make matter more difficult I have at least one other person was able to embed a problem query in a stored procedure and have it work. My database which is an database upgrade from 8 to 12 will not execute the stored procedure. I am using ASA 12..01.3298. Is there some connection, database, or server option which would cause this to happen?
In ASA 12 it must be rewritten like this
Within the original query the "left outer join" should have higher precedence than the "," and so the scoping should be interpreted as
which means this is not a syntactically valid statement. The fact that the ASA 8 parser allowed it was unintentional, and the tighter parsing rules in ASA 12 correctly reject it. I don't know of any options that will enable the older behaviour in ASA 12.
Note that you don't have to use "cross join" in ASA 12 to fix this. Simply fixing the ordering of the comma-join to correct the scoping error suffices.
answered 28 Apr '11, 16:56