Oracle: ORA-01790 bei NULL in UNION

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von ndreisg, 17. September 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 17. September 2007
    habe in meinem UNION einige NULL Werte verwendet... bei einem NULL wert wird der Oracle Fehler ORA-01790 geworfen. Bei den anderen funktioniert es jedoch.

    das ganze sieht ungefähr so aus.

    Code:
    SELECT ALL B.ASBSID AS ASBSID, B.ASBREGNR AS ASBREGNR, ... 
    U.ASUSID AS ASUSID, U.ASUUNTLART AS ASUUNTLART, ... 
    NULL AS TAWFELD, NULL AS TAWQUAL, ...
    FROM B, U 
    WHERE (B.ASBSID = U.ASUASBSID)
    UNION
    SELECT ALL B.ASBSID AS ASBSID, B.ASBREGNR AS ASBREGNR, ...
    NULL AS ASUSID, NULL AS ASUUNTLART, ... 
    T.TAWFELD AS TAWFELD, T.TAWQUAL AS TAWQUAL, ...
    FROM B, T
    WHERE (B.ASBTAPSID = T.TAWTAPSID)
    
    hat vielleicht jemand eine lösung?
     

  2. Anzeige
  3. #2 17. September 2007
    AW: Oracle: ORA-01790 bei NULL in UNION

    oh das wird schwer, dir da zu helfen.

    aber schau hier mal: Oracle/PLSQL: ORA-01790 Error

    wird ordentlich erklärt, woran es liegen könnte.


    nice day!!! ;)
     
  4. #3 17. September 2007
    AW: Oracle: ORA-01790 bei NULL in UNION

    danke habs schon rausgefunden!
    was der fehler bedeutet wusste ich schon aber eigentlich dachte ich, dass NULL kein datentyp ist und somit immer geht...
    doch anscheinend war das Problem, dass das korrespondierende Feld der Primary Key ist...
    hab den NULL Wert dann auf number gecastet und dann hats funktioniert.

    sieht dann so aus (das Fett gedruckte ist der Primary Key bzw. der gecastete NULL Wert)

    Code:
    SELECT ALL B.ASBSID AS ASBSID, B.ASBREGNR AS ASBREGNR, ... 
    [B]U.ASUSID AS ASUSID[/B], U.ASUUNTLART AS ASUUNTLART, ... 
    NULL AS TAWFELD, NULL AS TAWQUAL, ...
    FROM B, U 
    WHERE (B.ASBSID = U.ASUASBSID)
    UNION
    SELECT ALL B.ASBSID AS ASBSID, B.ASBREGNR AS ASBREGNR, ...
    [B]to_number(NULL) AS ASUSID[/B], NULL AS ASUUNTLART, ... 
    T.TAWFELD AS TAWFELD, T.TAWQUAL AS TAWQUAL, ...
    FROM B, T
    WHERE (B.ASBTAPSID = T.TAWTAPSID)
    
    bw hast natürlich trotzdem für deine Mühen
     
  5. #4 17. September 2007
    AW: Oracle: ORA-01790 bei NULL in UNION

    Na dann...

    ~close~


    Knusperkeks
     

  6. Videos zum Thema
Die Seite wird geladen...