[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    86

    SQL Fehlermeldung : Spalte oder globale Variable nicht gefunden!!!

    Guten Morgen ,

    stehe mal wieder auf dem SQL Schlauch :-).
    Ich habe folgendes Statement:

    update lib.teil051216 a set a.tengkz = '1' , a.tesibe = b.sibe where a.tefirm = '11'
    and exists ( select b.artikel, b.sibe, b.liefe00001 from pcdta.liefer_2 b where b.artikel = a.tetenr and b.LIEFE00001 = '1');

    Eigentlich nichts dramatisches....

    Da bekomme ich folgende Meldung:

    SQL-Status: 42703
    Vendorencode: -206
    Nachricht: [SQL0206] Spalte oder globale Variable SIBE nicht gefunden. Ursache . . . . : SIBE wurde als Spalte der Tabelle *N in *N nicht gefunden und wurde auch als globale Variable in *N nicht gefunden. Ist die Tabelle *N, ist SIBE keine Spalte einer Tabelle oder Sicht, auf die verwiesen werden kann. Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die Anforderung wiederholen: -- Sicherstellen, dass die Spalten- und Tabellennamen in der Anweisung korrekt angegeben wurden. -- Handelt es sich um eine Anweisung SELECT, sicherstellen, dass alle erforderlichen Tabellen in der Klausel FROM angegeben wurden. -- Sollte die Spalte ein Korrelationsbezug sein, die Spalte mit der korrekten Tabellenkennzeichnung qualifizieren.-- Sollte die Spalte eine globale Variable sein, den Namen mit dem Schema qualifizieren, in dem die globale Variable vorhanden ist, oder sicherstellen, dass sich das Schema im Pfad befindet.

    Wo ist da der Fehler? Ich gebe doch die Spalte gezielt an...

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,

    das
    a.tesibe = b.sibe
    gehört ins subselect verschoben. b.sibe kann er nicht finden.

    lg Andreas

  3. #3
    Registriert seit
    Jun 2004
    Beiträge
    86
    Danke.
    Jetzt habe ich noch ein Fehler mit Nullwert.
    Muss echt mal einen SQL Kurs machen. :-)

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    exists liefert als Ergebnis nur TRUE oder FALSE, wie eben jeder andere Vergleich auch.
    Auf die Variablen des Exists-Selects kann man nicht zugreifen.
    Für deinen Update benötigst du also einen scalaren Subselect

    , a.tesibe = (select b.sibe from pcdta.liefer_2 b where b.artikel = a.tetenr and b.LIEFE00001 = '1')

    Der Exists dient zur Ergänzung, dass nur Updates stattfinden, wo auch Quellsätze vorhanden sind damit du kein NULL-Ergebnis im Subselect hast.

    Übrigens wurde ein ähnliches Beispiel hier im Forum letzte Woche mit Coalesce und Nullif gelö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
    Jun 2004
    Beiträge
    86
    Danke. Klappt einwandfrei.

    Will nächstes Jahr auf eine SQL Schulung. Dachte da an einen Kurs von der Fa. GFU in Köln.
    Der Kurs geht eine Woche. Wenn jemand noch eine andere Empfehlung hat, dann könnt ihr mir
    gerne eine Empfehlung geben.

    Danke nochmal....

  6. #6
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Birgitta Hauser (Fa. Toolmaker) hält auch sehr gute Kurse. Da kann man bei Bedarf gleich eine Mischung von RPG und SQL bekommen. Sie kennt beides sehr gut. Wir waren immer sehr begeistert. Allerdings ist es auch etwas anstregend.

  7. #7
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Die GFU in Köln hat damals mal den Realia Cobol Compiler hergestellt. Tolles Teil. Wußte gar nicht das es den Laden noch gibt.

    GG 4926

  8. #8
    Registriert seit
    Jun 2004
    Beiträge
    86
    Ich kenne die nur als Schulungsanbieter. Bieten einen guten Serivice und Schulung an.

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von dschroeder Beitrag anzeigen
    Birgitta Hauser (Fa. Toolmaker) hält auch sehr gute Kurse. Da kann man bei Bedarf gleich eine Mischung von RPG und SQL bekommen. Sie kennt beides sehr gut. Wir waren immer sehr begeistert. Allerdings ist es auch etwas anstregend.
    Danke für die Empfehlung!
    Hier der Link zu unseren Schulungen:
    http://www.toolmaker.de/Schulungen
    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

Similar Threads

  1. Antworten: 4
    Letzter Beitrag: 23-02-16, 11:15
  2. SQL-Anweisung UPDATE auf CLOB-Spalte mit einer Zeichenfolge >32K
    By Joshua in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 24-11-15, 10:53
  3. CPF5125 oder warum reagiert er nicht auf close
    By Robi in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 04-03-14, 14:49
  4. SQL0314, Host-Variable nicht eindeutig
    By gue_br in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 26-02-14, 15:40
  5. CRTRPGPGM nicht gefunden
    By DEVJO in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-11-02, 09:41

Tags for this Thread

Berechtigungen

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