Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Nested joins and ODBC

Re: Nested joins and ODBC

From: Silvio Bierman <sbierman_at_idfix.nl>
Date: Mon, 8 Apr 2002 11:43:34 +0200
Message-ID: <a8ror8$lcp$1@news1.xs4all.nl>


Daniel,

Thanks for responding to my post.

I would like to set the record straight: I have been developing Unix based Oracle applications (mainly server apps for voice-response environments, some C/S desktop apps) since Oracle 6 and have years of experience as both application developer and database admin. I have a thorough understanding about the fundamental differences between Oracle and SQL-Server. Therefore, I am not expecting Oracle to mimic SQL-Server behaviour.

However, if Oracle distributes an ODBC-driver it automatically takes on the burden of conforming to some of the mainstream behaviour most ODBC-enabled database platforms display. One particularly important area is that of adhering to as much as possible of the ODBC SQL-grammar for SELECT, INSERT and UPDATE statements. If I am to develop a multi-backend app using ODBC proprietary join operators simply aren't an option, be they Oracles (+) or SQL-Servers (*). The only way to overcome these differences is to rely on the ability of the ODBC-driver to interpret the ODBC join syntax and convert to the proper backend-syntax.

Therefore, my question is not so much about the Oracle database server as it is about the Oracle ODBC driver. If it is not able to do nested ODBC-style joins I think it is useless, despite the undisputed excellence of the backend!

Silvio Bierman

"damorgan" <damorgan_at_exesolutions.com> wrote in message news:3CAE3CFD.BEA87090_at_exesolutions.com...
> No you don't. What you need to do is get an Oracle book, open it, and read
> it.
>
> I work in Redmond, WA. Many of my friends work for Microsoft. But I have
to
> confess I am getting sick and tired of the MS mentality which is that
> whatever way I did it in a Microsoft product is the way it works and
anything
> else is the work of a medieval demon or worse. Get over it. Quickly!
>
> If you are going to work in Oracle the first thing you need to learn is
that
> it is not a Microsoft product. It does not work like a Microsoft product.
It
> is not supposed to work like a Microsoft product. And if Larry doesn't
lose
> his mind it never will. The syntax is different, the architecture is
> different, transactions are different, data integrity is different,
locking
> is different, and the very basis of the system is multiversioning which
SQL
> Server doesn't have.
>
> So unless you have some over-riding desire to make a huge ugly mess and
then
> blame it on Oracle get a book and read it. The problems with Oracle will
not
> be the software. If you make an insecure, unscalable, lousy performing
home
> to corrupt data put the blame squarely where it belongs ... on yourself.
>
> Back to your question: Can it be done? Of course. But only by people who
> learn how!
>
> Daniel Morgan
>
>
>
> Silvio Bierman wrote:
>
> > Hello,
> >
> > I am porting a SQLServer app to Oracle 8 (using Oracle ODBC-driver) and
I
> > have stumbled onto a problem.
> >
> > I need to join three tables together using the join syntax:
> >
> > select * from a left outer join b on a.x=b.y left outer join c on
b.i=c.j
> >
> > When I join only two tables I can use
> >
> > select * from {oj a left outer join b on a.x=b.y}
> >
> > but this does not work when joining more than two tables.
> >
> > Can this be done?
> >
> > Because the app needs to run on SQLServer also I can not use the Oracle
> > outer join syntax!
> >
> > Regards,
> >
> > Silvio Bierman
>
Received on Mon Apr 08 2002 - 04:43:34 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US