SQL Server, Wie Sie Durchlaufen, Wenn eine Cursor-Schleife Einmal, Wenn eine Bestimmte Bedingung Auftritt
Ich habe einen SQL Server-cursor. Ich überspringen möchten eine iteration der Schleife aus, wenn eine bestimmte Bedingung Auftritt. Break führt Sie von der cursor-Schleife und weiter nicht zu sein scheinen etwas zu tun.
Gibt es einen Befehl, der sagt "hey, dieser Eintrag ist nicht gut, so lassen Sie uns gehen Sie vor und überspringen Sie es und arbeiten am nächsten".
Durch den Weg, den ich kenne Cursor böse sind, wie Treiber, die gehen 43 MPH auf der überholspur, aber wie so oft in der software, die ich bin mit ihm stecken.
Dank
InformationsquelleAutor codingguy3000 | 2009-07-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum verwenden Sie nicht nur eine if-Anweisung:
InformationsquelleAutor kemiller2002
wenn Sie den code der Schleife mit der fetch-an der Unterseite (mit den ersten Abruf vor der Schleife) fortgesetzt wird, nur springen Sie an die Spitze, und der Prozess der gleichen Zeile wieder. man könnte ein GOTO zu springen, um die fetch-Teil an der Unterseite oder die Umstrukturierung der Schleife zu Holen, an der Spitze und die cointinue arbeiten.
könnten Sie ändern Ihre Schleife zu verwenden SPRINGEN...
Ist hier einige Beispiel-code, der nur für einen fetch an der Spitze der Schleife, weiter arbeiten:
InformationsquelleAutor KM.
Könnte es einfacher sein, diese zu beantworten wenn wir wüssten, was die cursor-code aussah. Vielleicht können Sie in einer if-Anweisung prüft die Bedingung und nur etwas tut, wenn die Bedingung nicht vorhanden ist.
InformationsquelleAutor HLGEM
Die billige Antwort ist das einfügen eines IF-block: begin loop /WENN Zeile ist gut, BEGIN ... END - /end-Schleife.
InformationsquelleAutor Philip Kelley
Habe ich nie einen SQL-cursor konnte ich nicht entfernen, mit ein wenig nachdenken und die performance-Gewinne sind in der Regel riesig. Gibt es einen Grund, Sie können nicht wählen Sie nur die Zeilen, die Sie wollen, mit zu arbeiten, anstatt Zeile für Zeile bearbeitet?
InformationsquelleAutor Jon Galloway