Oracle-cursor läuft durch das Letzte Element zweimal

Ich habe eine ein-cursor-Schleife, die das Gebäude von einer Zeichenfolge durch Verkettung der Inhalt einer Tabelle zusammen, mit code, die entlang dieser Linien:

OPEN cur_t;
LOOP
    FETCH cur_t INTO v_texttoadd;

    v_string := v_string || v_texttoadd;
EXIT WHEN cur_t%notfound;
END LOOP;

Das problem ist natürlich, dass das Letzte Element, das Hinzugefügt wird, zweimal, weil das system läuft noch einmal durch bevor Sie feststellen, dass es nichts mehr zu finden.

Habe ich versucht, das Spiel mit so etwas wie

OPEN cur_t;
WHILE cur_t%found;
LOOP
    FETCH cur_t INTO v_texttoadd;

    v_string := v_string || v_texttoadd;
END LOOP;

Aber das schien nicht zu etwas zurückkehren an alle.

Welche syntax muss ich verwenden, so dass jede Zeile nur angezeigt wird, in die resultierende Zeichenfolge einmal?

InformationsquelleAutor Margaret | 2009-05-22
Schreibe einen Kommentar