Hallo,
habe den Sql-Fehler erhalten
Code:
Nachrichten-ID . . . . : SQL0811 Bewertung . . . . . . : 30 Nachricht . . . : Ergebnis der Anweisung enthält mehr als eine Zeile.
Ursache . . . . : Die Ergebnistabelle einer Anweisung SELECT INTO, einer
Unterabfrage oder einer Unterauswahl einer Anweisung SET enthält mehr als
eine Zeile. Es handelt sich um Fehlerart 1. Bei Fehlerart 1 wurde von einer
Anweisung SELECT INTO versucht, mehr als eine Zeile zurückzugeben. Bei
Fehlerart 2 wurde durch eine Unterauswahl eines Basisprädikats mehr als eine
Zeile erstellt. Es ist nur eine Zeile zulässig.
Fehlerbeseitigung: Die Auswahl so ändern, dass nur eine Ergebniszeile
zurückgegeben wird, und die Anforderung wiederholen. Zur Verarbeitung
mehrerer Ergebniszeilen müssen die Anweisungen DECLARE CURSOR, OPEN und
FETCH verwendet werden. Für eine Unterabfrage können die Prädikate IN,
EXISTS, ANY und ALL verwendet werden, um mehrere Ergebniszeilen zu
Bei den SUM Funktionen habe ich einen Indikator angegeben.
Meine Vermutung ist es, das der Fehler bei diesem Statement auftritt:
Code:
c/exec sql
C+ SELECT Feld1 INTO :W1feld1 FROM file WHERE ....
C+ ....
c/end-exec
Fall ich den Fehler abfangen möchte, würde das so funktonieren?
Code:
C Monitor
c/exec sql
C+ SELECT Feld1 INTO :W1feld1 FROM file WHERE ....
C+ ....
c/end-exec
C on-Error *ALL
C Endmon
C ENDSR
In welcher Zeile, der Sql-Fehler auftritt, sehe ich aus der Nachricht nicht oder?
Dank im Voraus
Gruß
Tarki
Bookmarks