[NEWSboard IBMi Forum]
  1. #1
    cicero22 Besucher/Guest

    SQL Frage zum Create View

    Hallo Forum!

    Wir möchten hier gerne einen View erzeugen. Dabei möchten wir gerne eine Sortierung vornehmen (also ein Order By) - das scheint nicht zu funktionieren.

    Ist das korrekt? Wenn ja - hat jemand eine Idee, wie man trotzdem eine Sortierung in den View bekommt.

    Oder müssen wir auch ein Logical File zurückgreifen?

    thanx
    dirk

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    SQL unterscheidet zwischen externen Objekten (ohne Zugriffspfade) und internen Objekten (PFs und Indexe). Sinn der Sache ist, dass Views keine Maintenance kosten, man also soviele anlegen kann, wie man will, ohne dass Overhead entsteht.
    Views sind zur Verwendung mit SQL gedacht und dann gibt man bei dem Zugriff eine ORDER BY Klausel an und alles passt.
    Wenn Du nun aber mit Record Level Access (read, chain und Konsorten) eine View verwenden willst, bleibt Dir entweder ein DDS logical File, oder eben die Umstellung des Programms auf SQL. Letzteres würde ich Dir empfehlen.

    mfg

    Dieter Bender

  3. #3
    cicero22 Besucher/Guest
    naja - wir wollen den view mit odbc weiterverwenden...
    es soll in open office eine adressliste aufsteigend nach PLZ gemacht werden...

    (also entfällt leider die möglichkeit weiterer SQL´s (oder???) )

    vielleicht fällt euch noch was besseres ein?

    (ein problem ist nämlich auch noch, dass er dann in open office die 1. null der plz verschluckt) => ich wollte das im view mit digits(PLZ) lösen - das funktioniert auch nicht....

    schade

    dirk

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo Dirk,

    open office denkt eigentlich in Standard SQL und da gibt es nirgends ORDER BY bei Views; ich bin zwar kein open office Experte, aber da muss es im Open Office die Möglichkeit geben die Sortierung anzugeben. Server seitig, sprich AS400 musst Du natürlich dafür sorgen einen Index für die Sortierung zu erstellen, damit es brummt.
    Hast Du das andere mal mit einem Cast nach char versucht??? Steht in der Reference bei den Funktionen unter CHAR oder CAST.

    mfg

    Dieter Bender

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    @Dieter

    Das Casting mit CHAR wird da auch nichts bringen, da DIGITS bereits ein Zeichenfeld liefert.

    @Cicero

    Das Problem scheint mir hier eine automatische Feldtyp-Erkennung (siehe auch ähnliches Problem bei Excel), die nur irgendwo in OpenOffice ggf. abgeschaltet werden kann.

    Was die Sortierung angeht, so dient ein Index bzw. eine LF nur der Zugriffsoptimierung jedoch nicht automatisch der Sortierung.
    Fehlt die "order by"-Klausel kann ich über das sortierte Ergebnis keine Aussage machen unabhängig davon welchen Index die AS/400 nun heranzieht.
    Ich habe häufig festgestellt, dass die Sortierung der Reihenfolge der Speicherung in der PF entspricht (Faktoren hierzu sind Insert/ADD und REUSEDLT).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo Baldur,

    die automatische Felderkennung müsste sich eigentlich mit Hochkommas toppen lassen, die man auch in der View hinein frömmeln kann (casten und verketten mit Zeichen, eventuell escapen).

    Mit der Reihenfolge, noch folgende Ergänzung: die (zufällige) Reihenfolge ohne ORDER BY Klausel, hängt von der gewählten Zugriffsstrategie ab und damit kann sie sogar von Release, PTF, Subsystem, Speicher, Menge der Daten, Belastung der Maschine, etc. abhängen, also sogar von Fall zu Fall wechseln.

    mfg

    Dieter Bender

Similar Threads

  1. SQL Frage
    By Bratmaxxe in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 24-01-07, 19:17
  2. CREATE VIEW
    By Franz Karl in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-01-07, 08:04
  3. Frage zu SQL UserDefinedFunction
    By cbe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 24-08-06, 17:30
  4. create view oder constraint oder trigger oder ... ?
    By antvik in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 02-08-06, 18:04
  5. SQL -> CREATE VIEW
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 17
    Letzter Beitrag: 11-05-06, 14:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •