[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    184

    Bei Dateierstellung per SQL wird eine View gelöscht

    Hallo Kollegen,

    ich habe eine Merkwürdigkeit und kann leider nicht herausbekommen woran es liegt.
    Bei der Erstellung einer Datei per SQL_Script wird mir eine View gelöscht mit der Fehlermeldung CPI3212 (Dateiabhängigkeit). Aber diese View hat aus meiner Sicht keine Dateiabhängigkeit zu der erstellten Datei. Wie kann ich die Abhängigkeit herausbekommen.
    Mit DSPFFD und DSPFD wird mir nichts angezeigt.

    Vielleicht hat einer noch eine Idee?

    Schönen Dank im Voraus
    Jenne

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    DSPDBR ist dein Freund.

    Du kannst aber auch einen "Create or Replace Table ..." verwenden. Dann bleiben alle Indizes/Views und auch die Daten erhalten.
    Nur wenn du Felder entfernst kann es zu Problemen kommen.
    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
    May 2004
    Beiträge
    184
    Hallo Fuerchau,

    Danke hat geklappt. Der Befehl war mir entfallen.

    Schöne Grüße
    Jenne

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Bedenke dabei, dass eine View die neuen Felder dann noch nicht enthält!
    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

  5. #5
    Registriert seit
    Sep 2008
    Beiträge
    70
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Du kannst aber auch einen "Create or Replace Table ..." verwenden. Dann bleiben alle Indizes/Views und auch die Daten erhalten.
    Was ist eigentlich dann der Vor-/Nachteil beim hinzufügen neuer Spalten im Vergleich zum bisherigen ALTER TABLE ADD COLUMN?

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Beim CREATE OR REPLACE kannst Du das vorhandene SQL Skript verändern und damit u.a. auch neue Spalten nicht nur am Ende der Feld-Liste sondern auch dazwischen implementieren.
    Damit kannst Du z.B. das SQL Skript in einer ganz normalen Teildatei speichern, bei der nächsten Änderung modifizieren und anschließend mit RUNSQLSTM ausführen. (ganz ähnlich wie wenn man mit DDS arbeitet)

    Beim CREATE OR REPLACE kannst Du mehrere Änderungen (neue Spalten hinzufügen und vorhandene Spalten ändern) mit einem einzigen Befehl ausführen, während Du pro ALTER TABLE-Befehl immer nur eine Änderung machen kannst.

    Übrigens "under the cover" werden die Änderungen über CREATE OR REPLACE TABLE in ALTER TABLE-Statements konvertiert und dann einzeln ausgeführt
    ... also was mit ALTER TABLE nicht geht, geht auch mit CREATE OR REPLACE nicht.

    Birgitta
    Birgitta Hauser

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

  7. #7
    Registriert seit
    Sep 2008
    Beiträge
    70

    Thumbs up Danke

    Hallo Frau Hauser, danke für die Erläuterung!

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Allerdings findet das Umkopieren der Daten sowie Erstellen der Abhängigkeiten beim CREATE or REPLACE nur 1x statt, während jeder einzelne ALTER TABLE die Tabelle neu erstellt Views umhängt sowie Indizes neu generiert.

    Was übrigens der CHGPF mit Source-Angabe schon länger konnte, "or Replace" kam leider erst später.
    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

Similar Threads

  1. Antworten: 4
    Letzter Beitrag: 19-07-16, 12:44
  2. Eine Marke, eine Halle, eine Messe: IT & Business - Ende September in Stuttgart
    By Isabella Pridat-Zapp in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 10-09-15, 13:50
  3. Wie wird man eine JVM wieder los?
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 27-11-13, 14:36
  4. 36er ID wird nicht gelöscht
    By Frank.Sobanek in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 16-04-02, 09:01
  5. Warum wird eine Kopie einer log. Datei erstellt
    By hs in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 27-09-01, 12:25

Berechtigungen

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