[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.793

    create or replace table

    Moin zusammen,

    wir haben hier ein SQL (source für runsqlstm) mit

    PHP-Code:
    create table LIBNAME/FILENAME as(   
      
    select F1f2f3f4             
        from DT1
    DT2DT3                     
       where a 
    and and    
             
    and and    
             
    FELDx  99           and                 
             
    FELDy in(626393)  and                 
             
    FELDz 0             and                 
             
    DT3.FELDx not in(select ABC from XYZ)      
                                          ) 
    with data 
    läuft schon ewig, funktioniert.

    mach ich aus dem "create" ein "create or replace" bekomme ich
    "Klauseln in derselben Definition sind nicht gültig."

    Was bedeutet das? und viel wichtiger ... wie geht es richtig?

    Danke
    Interessante Umfrage zur Nutzung der AS/400

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    19.323
    Weil ein "or replace" mit neuen Daten keinen Sinn macht.
    Replace erstellt ja nur die Datei und kopiert die alten Daten zurück.
    Dabei bleiben Indizes/Views dann erhalten.

    Alternativ kannst du einen "... with no data" machen, was nur bei Feldänderungen dann Sinn macht.
    Für die Daten machst du dann einen "delete ....; insert into ... select ... from ...;".
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.793
    Hab es nun mit

    PHP-Code:
    create table LIBNAME/FILENAME as(   
      
    select F1f2f3f4             
        from DT1
    DT2DT3                     
       where a 
    and and    
             
    and and    
             
    FELDx  99           and                 
             
    FELDy in(626393)  and                 
             
    FELDz 0             and                 
             
    DT3.FELDx not in(select ABC from XYZ)      
                                          ) 
    with data ON REPLACE DELETE ROWS 
    gelöst

    Danke


    Der replace ist verwirrend,
    er bezieht sich auf die Dateistruktur, nicht auf die Daten.

    Das war mir nicht so klar.
    Geändert von Robi (27-07-21 um 08:50 Uhr) Grund: ergänzt
    Interessante Umfrage zur Nutzung der AS/400

Ähnliche Themen

  1. create table abc/xyz as und XML
    Von ILEMax im Forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 26-11-20, 13:18
  2. CREATE OR REPLACE PROCEDURE klappt nicht
    Von becama im Forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 26-02-19, 13:26
  3. SQL CREATE or Replace View
    Von KingofKning im Forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 19-06-17, 07:10
  4. create or replace table
    Von dibe im Forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 11-11-16, 09:59
  5. create table
    Von KingofKning im Forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 18-05-15, 13:09

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •