[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    37

    Question Feldreferenzdatei in SQL

    Hallo zusammen,



    dies ist mein erster Beitrag, mit dem ich meinen Einstand in diesem Forum geben möchte. Mein neuer Chef hat mich angewiesen, mich mit dem Thema Anwendungsmodernisierung auseinander zu setzten. Hierbei bin ich auf die Roadmap von IBM gestoßen, die mit dem Umstieg auf WDSc beginnt und Enterprise Java Beans endet. Ein Meilenstein ist die Umstellung von DDS-Basierten Dateien auf SQL. Nun frage ich mich, ob und wie ich meine lieb gewonnene Feldreferenzdatei unter DDL nutzen kann. Hat jemand Erfahrungen mit diesem Thema?



    Gruß



    Etherion

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das geht nur mit UDT's !
    Du musst halt für jeden Typ einen "Userdefined Typ" generieren und kannst dann beim Feldtyp an Stelle von CHAR/DEC usw. deinen UDT angeben.
    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

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Leider unterstützt SQL keine Feldreferenzen wie wir sie vom DDS her kennen. Also ändern Feld in der Referenz-Datei und dann mit CHGPF die Dateien neu erstellen ist nicht!

    Die einzige Möglichkeit, die es gibt ist folgende:
    PHP-Code:
    CREATE TABLE MySchema/MyFile
          
    (NewFld1NewFld2NewFld3 ....)
       as (
    Select RefFld1RefFld2RefFld3 ...
              
    from MySchema/MyRefFile)
            
    With No Data 
    Allerdings werden die Referenz-Informationen nicht in den System Tables gespeichert, sondern nur die absolute Definition. Ändert sich ein Referenz-Feld, musst Du in jeder einzelnen Tabelle, in der dieses Feld verwendet wird die Änderung über ALTER TABLE nachvollziehen.

    Die Antwort, die ich zu diesem Thema aus Rochester erhalten habe, war:
    Feldreferenz-Dateien sind kein SQL-Standard und
    in einer normalisierten Datenbank werden sie sowieso nicht benötigt.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Fuerchau
    Das geht nur mit UDT's !
    Du musst halt für jeden Typ einen "Userdefined Typ" generieren und kannst dann beim Feldtyp an Stelle von CHAR/DEC usw. deinen UDT angeben.
    Das Problem mit den Distinct Types ist nur folgendes, dass sie nur dann verändert werden können, wenn sie in keiner Tabelle mehr verwendet werden.
    Das heißt, wenn Du einen Distinct Typ ändern willst, musst Du zunächst alle Tabellen löschen, den Distinct Typ ändern und anschließend die Tabellen wieder neu generieren. Und was machst Du dann mit Deinen Daten?

    Weiterhin müssen Distinct Types immer konvertiert werden, was die Performance beträchtlich beeinflußt.
    Im Klartext heißt das, wenn z.B. die Bestell-Nr. mit Distinct-Typ BNR 15A definiert wurde, kann sie mit keinem 15-stelligen alphanumerischen Feld (oder einem anderen Distinct-Typen mit der gleichen Definition) verglichen werden, sondern muss zunächt in einen vergleichbaren Typen konvertiert werden.

    Deshalb sollte man einen großen Bogen um Distinct Typen machen.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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