Differences between left join in oracle8 style and oracle10g style

Hi,
I need some help to figure out what impact can be, on a product, the migration of query left join syntax from the Oracle8 one to the Oracle10g:
we have a product that uses Hibernate configured to use the Oracle8 dialect to perform queries which uses the (+) sintax to perform outer join query, and we encountered a bug in that dialect that is forcing us to move on the Oracle10g dialect which uses the ANSI 92 style to perform outer join queries.
Someone know if there are differences/bugs/incompatibilities for outer join query written using the ANSI 92 style instead the Oracle8 style like DB functions (like NVL(), DECODE(), and so on) that work in a different way using a style instead the other?
Thanks.
Luca.

luca.depetrillo wrote:
Hi,
I need some help to figure out what impact can be, on a product, the migration of query left join syntax from the Oracle8 one to the Oracle10g:
we have a product that uses Hibernate configured to use the Oracle8 dialect to perform queries which uses the (+) sintax to perform outer join query, and we encountered a bug in that dialect that is forcing us to move on the Oracle10g dialect which uses the ANSI 92 style to perform outer join queries.
Someone know if there are differences/bugs/incompatibilities for outer join query written using the ANSI 92 style instead the Oracle8 style like DB functions (like NVL(), DECODE(), and so on) that work in a different way using a style instead the other?
Thanks.
Luca.In earlier versions of 10g (i.e. 10.1.?.?) there was a few bugs in the ANSI syntax joins on SQL, but they seemed to have sorted most of those out for 10.2.?.? onwards.
Essentially there will be no real adverse effects in using ANSI syntax, and it shouldn't stop your other functions working.
ANSI syntax also gives you the advantage that you can outer join to more than one table which you can't do in Oracle syntax outer joins.
Edited by: BluShadow on Nov 18, 2008 2:06 PM
prevented stupid forum formatting

Similar Messages

  • Difference between inner join and outer join

    1.Difference between inner join and outer join
    2.wht is the difference in using hide and get crusor value in interactive.
    3. Using join is better or views in writting program . Which is better.

    Table 1                      Table 2
    A
    B
    C
    D
    D
    E
    F
    G
    H
    a1
    b1
    c1
    1
    1
    e1
    f1
    g1
    h1
    a2
    b2
    c2
    1
    3
    e2
    f2
    g2
    h2
    a3
    b3
    c3
    2
    4
    e3
    f3
    g3
    h3
    a4
    b4
    c4
    3
    |--|||--|
        Inner Join
        |--||||||||--|
        | A  | B  | C  | D  | D  | E  | F  | G  | H  |
        |--||||||||--|
        | a1 | b1 | c1 | 1  | 1  | e1 | f1 | g1 | h1 |
        | a2 | b2 | c2 | 1  | 1  | e1 | f1 | g1 | h1 |
        | a4 | b4 | c4 | 3  | 3  | e2 | f2 | g2 | h2 |
        |--||||||||--|
    Example
    Output a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out:
    DATA: DATE   LIKE SFLIGHT-FLDATE,
          CARRID LIKE SFLIGHT-CARRID,
          CONNID LIKE SFLIGHT-CONNID.
    SELECT FCARRID FCONNID F~FLDATE
        INTO (CARRID, CONNID, DATE)
        FROM SFLIGHT AS F INNER JOIN SPFLI AS P
               ON FCARRID = PCARRID AND
                  FCONNID = PCONNID
        WHERE P~CITYFROM = 'FRANKFURT'
          AND P~CITYTO   = 'NEW YORK'
          AND F~FLDATE BETWEEN '20010910' AND '20010920'
          AND FSEATSOCC < FSEATSMAX.
      WRITE: / DATE, CARRID, CONNID.
    ENDSELECT.
    If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or a table alias.
    Note
    In order to determine the result of a SELECT command where the FROM clause contains a join, the database system first creates a temporary table containing the lines that meet the ON condition. The WHERE condition is then applied to the temporary table. It does not matter in an inner join whether the condition is in the ON or WHEREclause. The following example returns the same solution as the previous one.
    Example
    Output of a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out:
    DATA: DATE   LIKE SFLIGHT-FLDATE,
          CARRID LIKE SFLIGHT-CARRID,
          CONNID LIKE SFLIGHT-CONNID.
    SELECT FCARRID FCONNID F~FLDATE
        INTO (CARRID, CONNID, DATE)
        FROM SFLIGHT AS F INNER JOIN SPFLI AS P
               ON FCARRID = PCARRID
        WHERE FCONNID = PCONNID
          AND P~CITYFROM = 'FRANKFURT'
          AND P~CITYTO   = 'NEW YORK'
          AND F~FLDATE BETWEEN '20010910' AND '20010920'
          AND FSEATSOCC < FSEATSMAX.
      WRITE: / DATE, CARRID, CONNID.
    ENDSELECT.
    Note
    Since not all of the database systems supported by SAP use the standard syntax for ON conditions, the syntax has been restricted. It only allows those joins that produce the same results on all of the supported database systems:
    Only a table or view may appear to the right of the JOIN operator, not another join expression.
    Only AND is possible in the ON condition as a logical operator.
    Each comparison in the ON condition must contain a field from the right-hand table.
    If an outer join occurs in the FROM clause, all the ON conditions must contain at least one "real" JOIN condition (a condition that contains a field from tabref1 amd a field from tabref2.
    Note
    In some cases, '*' may be specified in the SELECT clause, and an internal table or work area is entered into the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the FROM clause, according to the structure of each table work area. There can then be gaps between table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, not simply by counting the total number of fields. For an example, see below:
    Variant 3
    ... FROM tabref1 LEFT [OUTER] JOIN tabref2 ON cond
    Effect
    Selects the data from the transparent database tables and/or views specified in tabref1 and tabref2. tabref1 und tabref2 both have either the same form as in variant 1 or are themselves join expressions. The keyword OUTER can be omitted. The database tables or views specified in tabref1 and tabref2 must be recognized by the ABAP-Dictionary.
    In order to determine the result of a SELECT command where the FROM clause contains a left outer join, the database system creates a temporary table containing the lines that meet the ON condition. The remaining fields from the left-hand table (tabref1) are then added to this table, and their corresponding fields from the right-hand table are filled with ZERO values. The system then applies the WHERE condition to the table.
    Left outer join between table 1 and table 2 where column D in both tables set the join condition:
    Table 1                      Table 2
    A
    B
    C
    D
    D
    E
    F
    G
    H
    a1
    b1
    c1
    1
    1
    e1
    f1
    g1
    h1
    a2
    b2
    c2
    1
    3
    e2
    f2
    g2
    h2
    a3
    b3
    c3
    2
    4
    e3
    f3
    g3
    h3
    a4
    b4
    c4
    3
    |--|||--|
        Left Outer Join
        |--||||||||--|
        | A  | B  | C  | D  | D  | E  | F  | G  | H  |
        |--||||||||--|
        | a1 | b1 | c1 | 1  | 1  | e1 | f1 | g1 | h1 |
        | a2 | b2 | c2 | 1  | 1  | e1 | f1 | g1 | h1 |
        | a3 | b3 | c3 | 2  |NULL|NULL|NULL|NULL|NULL|
        | a4 | b4 | c4 | 3  | 3  | e2 | f2 | g2 | h2 |
        |--||||||||--|
    Regards
    Prabhu

  • Difference between oracle join syntaxes and ANSI join syntaxes

    What is difference between oracle join syntaxes and ANSI join syntaxes ?
    why oracle is having different syntaxes for joins than ANSI syntaxes ?
    Also Join syntaxes are different in some oracle vesrions ?

    BluShadow wrote:
    3360 wrote:
    Yes it is. The Oracle database wasn't initially designed to be ANSI compliant. As you correctly state the ANSI standards weren't around when it was initially designed, so the statement is perfectly correct. ;)Ok, in one sense it may be correct but it is a completely misleading statement. Not sure why you think it's misleading.Because there was no ANSI standard, so making it sound like a design choice The Oracle database wasn't initially designed to be ANSI compliant. would suggest to most readers that there was a standard to be compliant to.
    Like saying Ford originally did not design their cars to incorporate safety features such as ABS, seat belts and air bags.
    The OP asked "why oracle is having different syntaxes for joins than ANSI syntaxes ?" and the answer is that Oracle wasn't initially designed with ANSI compliance, so it has it's old non-ANSI syntax,As shown above, the old syntax was ANSI compliant at the time and to call it non-ANSI is either incorrect or misleading dependent on your point of view.
    and since ANSI syntax became the standard it now supports that. And since ANSI switched to a new standard, Oracle had to implement the new standard as well as the previous ANSI standard would be more accurate in my opinion.
    Nothing misleading as far as I'm aware in that.I find the whole discussion about ANSI and Oracle's supposed non-compliance, reads like it was Oracle's choice to deviate from the standards, when it was ANSI's bullheaded decisions to pointlessly change standards that left Oracle and other vendors out of compliance, and that was a decision made solely by ANSI.
    This is probably the reason ANSI no longer produces SQL standards, the endless syntax fiddling would eventually have made forward left under outer joins a reality.
    {message:id=1785128}

  • Difference between physical join and logical join

    Hi Gurus,
    Can anyone tell me what is the difference between physical join and logical join
    Thanks,
    Chandra

    Hi,
    A physical join is at the physical layer and defines the join between two physical tables. Logical joins live at the BMM (logical) layer and define a join between two logical tables.
    The important differentiation is that at the BMM layer you do not tell the OBIEE server how to do the join, you just tell it that there is a relationship between these two logical entities. When the server comes to this logical join it will use the information in the physical joins and decides how the two logical tables are joined together.
    In BMM you use complex joins to establish which logical tables are joined which another, the OBI EE server will go to the physical level to search the physical join to make the query. You can also use physical joins in the BMM to override the join in the physical layer but only in very specific conditions.
    If you also set complex join in the physical layer OBI EE won't be able to construct the physical query.
    Hope this answers your question.
    Award points if helpful.
    Thanks,
    -Amith.

  • Difference between HP ProBook 4330s B0X78EA, A6D90EA and LY466EA

    Does anybody know the difference between HP ProBook 4330s B0X78EA, A6D90EA and LY466EA model? Diff page does now show nothing.

    sam781 wrote:
     How can I find details of ATI GPU?
    Hi,
    Here it is:
      http://www.notebookcheck.net/AMD-Radeon-HD-6730M.43959.0.html
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • How can find the difference  between iphone 5 Real Genuine adapter and fake adapter

    Can anyone please tell me, How Can Find Difference between iphone 5 Real Genuine adapter and fake adapter....

    That's about the only way. Many of the fakes are indistinguishable from genuine without taking them apart. See: https://www.youtube.com/watch?v=wi-b9k-0KfE Note that BOTH of the adapters in this video are fake. Yet the one on the left looks identical to the "real thing".

  • Difference between using app server connection pooling and using the driver

    Hi all,
    How to get connection pooling with out application server and tomcat also?
    What is the difference between using app server connection pooling and using the driver supported connection pooling?
    Regards,
    Murali

    maybe the performance of App server pool is better than the JDBC pool,
    for you don't know wether the implementation of the JDBC interface is good or bad.

  • What the difference between u0093Valuate GL Account Open Itemsu0094 and u0093Valuate G/

    hi gurus
    What the difference between “Valuate GL Account Open Items” and “Valuate G/L Account Balances”?
    We found out that when we perform valuate GL account Open items there will be reversal done at the same time whereas when we perform Valuate G/L Account Balances there is NO reversal posting even though we hv entered the reversal posting date and Period.
    Pls advise which one we should perform?

    “Valuate GL Account Open Items” are for open item managed accounts including vendor/customer accounts. The valuation is performed for each (open) line items on key date specified.
    "“Valuate GL Balance" is for account NOT managed on Open Item basis but managed in foreign currency. The period balance of key date in foreign currency is valuated. Reversal document can be created by selecting 'Reverse postings' in "Postings" tab.
    Kyoko

  • Difference between the design of clusters PCLx and others like RFBLG etc .

    There are a few nagging questions which I was not able to find in the forum hence i have to post a new question.
    I am a little confused about the difference between the different clusters .
    If i start with RFBLG i.e. the cluster for BSEG BSEC etc ,I can see that the tables which are part of this cluster
    can be viewed through different methods like
    1) whr usd list for RFBLG
    2) dd02l table and give the required parameters there
    now when I compare this with another so-called cluster PCL1 if find that PCL1 is not recognized as  a cluster
    and also I am not able to see the same in dd02l table when i give PCL1 and the tabtype as cluster which I was able to see
    for the RFBLG ,there are other tables similar to RFBLG .
    1) SO what is the difference between the RFBLG type of clusters and the PCLx type of cluster
    2) are pclx and rfblg..type of clusters same ?
    3) why does PCL1 shows that it is a transparent table ? where as rfblg shows in a diff way in se11
    4) i know we access data from PCL1 using import and export stmts ,DO OR CAN WE DO THE SAME FOR RFBLG
    5) I found that each and evry cluster table had diff fields ,this was kinda surprising for me as I had been thinking
    that all cluster tables need to follow a certain rule ,SO WHO DECIDES THE FIELDS OF A TABLE CLUSTER ?
    6) PCL1 has the index button enabled ,which again I think is not according to the cluster table rules?how?
    7) I understand that we can save data in form of internal tables in the PCL1 cluster ,can we do the same in RFBLG ?
    8) Can I think on lines that PCL1 and RFBLG type of cluster are two totally different types of data dictionary objects
    and the usage and implementation of both of them is different and that the design and the BASE of both of such objects
    is different .
    I know this is a long list but I am sure that answers to these questions would really require some one who has really really work hard and invested a lot of time in understanding the dictionary system.I am awaiting a few answers ,few hints and a healthy discussion till we get them .
    Thanks ...
    a

    Hello,
    1/
    BSEG is a typical Cluster Table.
    This means that the physical table BSEG does NOT exist in the database, physical data for BSEG is stored in the database (table) cluster RFBLG.
    In ABAP however you can perform selects on BSEG (with all fields from the SAP repository structure, see SE11 on BSEG), during execution the SAP database layer will translate these statements to physical selects in the RFBLG database table, so in ABAP this is transparant.
    More info :
    [http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm|http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm]
    2/
    PCL1, PCL2, ... are normal SAP transparent tables, however in HR they are often called HR cluster table.
    Transparent tables are SAP objects where there is also a database table with the same name that contains the physical data.
    However the PCL tables are somewhat different from normal transparent tables (data is compressed, external programs can not interpret the data, ...).
    This means that in ABAP you can not use simple SQL statements to access data in PCL tables (because of compressed format).
    In stead statements like EXPORT TO DATABASE and IMPORT FROM DATABASE need to be used.
    More info :
    [http://fuller.mit.edu/hr/cluster_tables.html|http://fuller.mit.edu/hr/cluster_tables.html]
    Wim

  • Is there any difference between R/3 4.7 version and ECC 5.0????

    Hi All,
      Is there any difference between R/3 4.7 version and ECC 5.0 for the transaction RSA5.
    Regards,
    Andy

    Andy
    Functionality wise I didn't see any difference other than new datasources in ECC5.0
    Thnaks
    Sat

  • What is the difference between credit memo in invoice year and in next year

    Hi!
    I'm new here.I'm study SAP ERP.I don't know what is the difference between credit memo in invoice year and credit memo in next year (asset accounting).Can you show and give me an example, please!
    Thanks and best regards!
    Edited by: dinhtuan on Jun 28, 2010 3:10 PM

    Hi,
    Maybe have a look at the SAP Help for further information (http://help.sap.com) : e.g. 'Posting Credit Memos Integrated with Vendor'  or 'Posting a Credit Memo Offset Against a Clearing Account' 
    Transaction type 105 for credit memo on current acquisition made in the current year, posting key 75. Or transaction type 160 for credit memo on acquisitions from prior years. posting key 75.
    Note: determine if the asset was acquired in the current fiscal year or in a closed fiscal year (Display asset values).
    If the asset was acquired in a fiscal year that is now closed, correct the past depreciation using a write-up (in that case check out and refer to Posting Write-Ups).
    I hope this helps.
    Kind regards,
    Brigitte

  • What is the difference between these two reports MC.1 and MB5L

    Hi
    what is the difference between these two reports MC.1 and MB5L?
    what is the Purpose of each report?
    Material ledger is activated for this plant, we found some amount difference between these two reports, my client accounting department used to compare these two reports while year end/month end closing
    Thanks
    Raju

    MC.1 will give you the report for plant analysis as per plant .
    MB5L report will give you list of stock value as per G/L account wise.

  • Difference Between SAP ECC. 6.0 and 4.6c

    Hi
    What is the Difference Between SAP ECC. 6.0 and 4.6c
    with respect to module wise, like SD, MM, FI,
    thanks
    Satish

    Hi,
    There is lot difference between 4.6c and 6.0
    1) ecc 6.0 coming with inbuild webdynpro , BSP it is not 4.6c
    2) In ecc we have interactive forms concept where it was not there in 4.6c
    3) 4.6c there is no unicode concept here we have unicode and non unicode
    You can follow the link also
    difference between SAP 4.6C and SAP ECC6.0
    Rgds,
    Suman

  • Difference between Oracle9i 9.2.0.3 and Oracle9i 9.2.0.4 JDBC Drivers

    Hi everybody,
    Can you tell me what is Difference between Oracle9i 9.2.0.3 and Oracle9i 9.2.0.4 JDBC Drivers briefly?
    In my application I am using Oracle9i 9.2.0.3 JDBC Drivers. But it is not supported when I retrieved Data with junk character from CLOB.because of IO Exception it showing Bigger type length than Maximum
    if i used Oracle9i 9.2.0.4 JDBC Drivers it is working properly.
    I am using WAS 4.0.3 , JDK1.3 and Oracle 9.0.
    Shall I use Oracle9i 9.2.0.4 in my application and I want to know it will create any new problem in my application or not ?
    please Reply me ASAP.
    i am waiting for your reply
    thanks a lot
    bye
    Message was edited by:
    paulusazapakcom

    Can you tell me what is Difference between Oracle9i
    9.2.0.3 and Oracle9i 9.2.0.4 JDBC Drivers briefly?Search the Oracle site. That should tell if there are any differences at all. I would assume that there would be some bug fixes.
    please Reply me ASAP.
    i am waiting for your replySuch lines are better avoided.

  • Differences between the "Adobe Acrobat Versions 7 and 9"

    Dear Adobe Support Team,
    I need to know the differences between the "Adobe Acrobat Versions 7 and 9". I have worked with Acrobat 7 and have used the same script after installing Acrobat 9 for Automation Testing with QTP for validating pdf. The object "AcroExch.AVDoc" is not getting identified as object while working in QTP in the system/machine which has Acrobat 9 installed, whereas it works well in the machine which has Acrobat 7 installed . So it will be better if two things are known as per my understanding, ie.,
    it must have compatibility issue (i need the difference between "Adobe Acrobat versions 7 & 9" to assure this) or
    installation issue( which can be confirmed if the former question is answered).
    So i kindly request you to help me out for this scenario.
    Kind Regards,
    Vikraman.G

    Countless new features were introduced between Acrobat 7 and 9, are you really expecting us to type out a full list from memory?
    If you are having specific issues with the Acrobat SDK, first refer to the Acrobat SDK for the higher version. If there remains an issue I suggest posting about the specific problem in the Acrobat SDK forum, rather than asking for an encylopedia of all possible information...
    Note that Adobe do not support multiple installations of Acrobat on the same machine, so you can expect development issues if you do this.

Maybe you are looking for

  • Lightning HDMI Adapter not working with iOS 6.1.2

    I have an iPhone 5 which was updated from 6.0.2 to 6.1.2 recently and the Lightning HDMI adapter stopped working altogether for video mirroring; was wondering if anyone has the same situation/any solution for this? I also have an iPad retina generati

  • Problem in print preview

    Hi all, I am working on sap scripts. i have problem in print preview, 1. I have 2 pages in my layout ,but only one page is displyed in the preview, iam able to view 2 pages in other test program , i have compared all the atrubutes  with test program

  • Mixed PC/Mac environment with Mac 10.6 server sharing issue

    In this mixed environment, I can't figure out how to get new documents created on the Macs (saved onto a shared folder on the server) to be set as read/write for the PC user. I'm not a Mac system admin, just to start with, but I do use Macs all the t

  • After updating my ATV to 6.1.1 no airplay from iPhone or iPad

    This happens every time I update my ATV 2 to new software. No airplay from iPad 1 or iPhone 4 ( running ios 7.1.1 )  - this time after ATV update to version 6.1.1 Tried everything :  resetting ATV, disconnecting cables, resetting router, turning netw

  • Reverting to original RAW files

    My question is: suppose I make major (or minor) adjustments to many files in a folder. I know I have not really altered my originals but...is there a way to get those LR files in that particular folder with those changes I made back to my original st