"Oracle support of ANSI joins.", version 9.2
November 3, 2003 - 3am Central time zone
Reviewer: pete moss from uk, staffordshire university
Tom - totally agree with you about natural joins, a really stupid idea!
A very important fact to note for anyone who is contemplating using ANSI join syntax in a new
application is to note the fact that forms 9i does NOT support the new syntax! We made the
assumption that the new release of forms would support the new features of the database only to
discover, to the setback of our project, that it will not compile ANSI style joins - crazy I know,
and we had trouble getting oracle support to believe us on this - but trust me on this, we now have
a proper bug number and everything ;)
pete :)
But surely
November 3, 2003 - 7am Central time zone
Reviewer: Fred Funk from UK
"to the setback of our project"
You would have noticed this the first time you attempted to compile the form !
Forms is always a few steps behind in the versions of PL/SQL - it would be almost impossible for it
to keep up.
well, yes!
November 3, 2003 - 8am Central time zone
Reviewer: pete moss from uk
As you point out, we did spot this straight away - but we had been planning all along to use ANSI
style joins (going so far as getting training for developers who did not know the ansi syntax!),
which meant that we had to start developing our system knowing that we will, at some point - once
it is supported, go back and retro-code loads of queries into that style, if we want to have all
sql through the system to be consistent. which is a pain, to say the least!
hey ho.
Followup November 3, 2003 - 2pm Central time zone:
well, i'm not going back and changing my decodes to case, nor would I ever rewrite the old style
joins to ansi. but anyway.
in forms however, how often do you really join? and why isn't this code in STORED PROCEDURES (if
it is doing data stuff)? forms is pretty much "default block" stuff or built on stored
procedures....
and the difference between:
from emp inner join dept on (emp.deptno = dept.deptno)
vs
from emp, dept where emp.deptno = dept.deptno
hopefully didn't take a fully day or training?
Forms SQL and PL/SQL
November 3, 2003 - 7pm Central time zone
Reviewer: Gary from Sydney, Australia
Forms is quite happy with ANSI joins as part of the definition of a block based on a where clause
or a record group.
The issue is with Forms' PL/SQL.
I'm using Forms 6i, which states "This release of Form Builder uses PL/SQL 8 on the client and the
server."
But Oracle version numbering makes it difficult to work out what equates to what.
Stick to either procedures in the database, or use dynamic SQL in the forms. That way you can
always gain the advantage of migration to later database versions without forcing a migration of
your forms versions.
PS. I also agree that NATURAL joins are a mistake. Just have those often standard 'CREATED_BY',
'CREATED_ON' columns on your tables and watch the lack of results.
Maybe we could petition Oracle for a parameter for turning it off.
ANSI reference
March 28, 2007 - 5pm Central time zone
Reviewer: A reader
Hi Tom,
My apologies if I submitted the question again, as there were some interruption when I pressed "Submit Review" button.
Is there any complete reference book available to know which SQL command/syntax is ANSI standard? For example, I though MINUS will be an ANSI standard, but I came to know that actually it is not :-)
Regards,
Followup March 30, 2007 - 11am Central time zone:
you can order the ansi standards from ansi
http://ansi.org/
however, they are rather "dry" and somewhat meaningless.
Buggy?
February 19, 2008 - 11am Central time zone
Reviewer: Allan from Indiana, USA
Historically there have been bugs related to ANSI syntax, in fact even the 10.2.0.4 projected
issues list includes 10 bugs/issues related to ANSI syntax.
In the past I've encountered some of these bugs myself, and have continued to use and advocate the
"traditional" Oracle style.
I'd like to know if you feel that the implementation of ANSI syntax is now equally robust compared
to the traditional syntax.
Followup February 19, 2008 - 5pm Central time zone:
unfortunately, there are bugs in non-ansi joins too, probably more than 10 in fact.
I personally do not use the new syntax (except in the rare case of a full outer join, a truly rare beast to encounter). I have no comment on it really.
ANSI syntax useful for outer joins
February 19, 2008 - 11pm Central time zone
Reviewer: A reader
I've found the ANSI syntax useful for outer joins, in that it allows a table to be outer joined to
multiple other tables, whereas the join operator (+) does not.
Followup February 20, 2008 - 8am Central time zone:
inline views - i like them for that myself.
|