[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.115
    Zitat Zitat von BenderD Beitrag anzeigen
    ... den select musst Du Dir in einer Klammer vorstellen, sprich es selektiert alle (also die mehrfach vorkommenden mehrfach) und versucht dann das einzufüllen, was nicht gelingen kann, falls da eine unique constraint das verhindert...
    Du musst die Doubletten irgendwie durch Gruppierung im Select beseitigen (bloß welche Adresse solls denn sein???).
    D*B
    Was macht dann eine not exists Abfrage für einen Sinn? Die A4kto ist natürlich ein eindeutiger Schlüssel.
    Welche E-Mail Adresse er nimmt wäre mir egal, da der Sachbearbeiter erst dann die Dinge ändert wenn der Kunde sich ärgert, und nicht wenn der EDV-Tuppes sich ärgert...

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.379
    ... SQL ist eine Mengen-orientierte Sprache und das insert statement erlaubt eine oder auch mehrere Sätze auf einmal einzufügen. Es geht also auch:
    insert into covelenz
    values
    (1, 'Hugo', 'Hasenfuß', 'Dahier'),
    (2, 'Otto', 'Käsfuß', 'Dorten');
    Der Subselect setzt nun hier sein ResultSet ein.

    Die not exists Abfrage macht dann Sinn, wenn die Daten Sinn machen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.115
    Aber da Birgitta und erst vor ein paar Tagen gezeigt hat wie man in SQL doppelte Sätze löscht wandern die jetzt unter leichtem rühren in den Orkus.....GG

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Wie Dieter schon schreibt, der "insert ... select" ist ein Masseninsert.
    Das Problem hierbei ist wieder, dass der "... where exists ..." vor dem 1. Insert überhaupt durchgeführt wird. D.h., wenn in der Quelle 2 Sätze sind, die beide nicht im Ziel existieren, dass eben beide kopiert werden. Bei einem UNIQUE-Key geht das natürlich in die Hose.
    Hier hilft tatsächlich nur ein Programm, dass jeden Satz einzeln per Select-Cursor und Insert kopiert.

    Wohl dem, der wieder mindestens V6 hat.
    Hier gibt's dann neu den MERGE, mit dem man einen Update/Insert machen kann.

    Alterativ kann ich dir nur mein Upload/400 als Excel-AddIn anbieten, dass genau dieses löst.
    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
    Aug 2006
    Beiträge
    2.115
    Danke für den Hinweis,
    aber ich bin schon so alt das ich lieber noch was lerne als anderer Leute Tools zu benutzen (wenns zeitlich passt) und das mit dem Masseninsert wußte ich noch nicht.

    GG

Similar Threads

  1. RPGLE Trigger before insert übernimmt neue Werte nicht
    By msost in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 07-10-14, 14:15
  2. SQL V5R4 DEC -> HEX
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 19-08-14, 14:29
  3. SQL Optimierung V5R4
    By KingofKning in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 17-05-14, 11:33
  4. V5R4
    By dino in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 18-12-13, 14:59
  5. SQL insert mit variable
    By Robi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-03-03, 10:16

Berechtigungen

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