[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    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
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    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.
    Last edited by Robi; 27-07-21 at 08:50. Grund: ergänzt
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

Similar Threads

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

Berechtigungen

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