Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Ansi-Join provoziert Fehler

  Alt 7. Feb 2014, 11:31
Datenbank: oracle • Version: 11 • Zugriff über: egal(?)
Hallo zusammen

hier ist ja schon öfter mal über ANSI-Joins Ja oder Nein diskutiert worden, mit folgender Abfrage habe ich dann folgenden Fehler provozieren können:
Code:
select tab1.Feld1,tab2.Feld2,Tab3.*
from tab1 join tab2 using (idkey)
          join tab3 on (tab2.seckey=tab3.objectkey)
where ....
Zitat:
Im Projekt XXX ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 4440F60B in Modul 'OraOLEDBrst11.dll'. Lesen von Adresse ABABABAB' aufgetreten.
Wohlgemerkt, es kommt keine ORACLE-Fehlermeldung, das ein Qualifier nicht genutzt werden darf.

denn
Code:
select tab1.Feld1,tab2.Feld2,Tab3.Felda
from tab1 join tab2 using (idkey)
          join tab3 on (tab2.seckey=tab3.objectkey)
where ....
funktioniert dann wieder.

Joint man nach "alter Väter Sitte"
Code:
select tab1.Feld1,tab2.Feld2,Tab3.*
from tab1,tab2,tab3
where tab1.idkey=tab2.idkey
  and tab2.seckey=tab3.objectkey
  and ....
gibt es keine Probleme und Fehlermeldungen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat