![]() |
Datenbank: Firebird • Version: 3.0.7 • Zugriff über: -
Firebird Cursor - Wozu ? Welche Vorteile ?
Hallo,
ich bin über die Cursor gestoßen bei Firebird verstehe leider nur nicht ganz wo da der wirkliche Vorteil zu "for select" ist oder wann/wozu sollte man das genau verwenden? Im Internet bin ich bisher leider nicht ganz schlau daraus geworden. Könnte mir das vielleicht jemand erklären, wenn es geht mit Beispielen oder sinnvolle Anwendungsfälle dafür nennen? ![]() ![]() |
AW: Firebird Cursor - Wozu ? Welche Vorteile ?
"Normale" For ...-Schleifen sind von der/den Quell-Tabellen(n) "entkoppelt".
Bei dieser Variante wird das Ergebnis mit einem Cursor verknüpft. Änderungen an den abgefragten Daten werden direkt ausgeführt und ändert nicht nur die Ergebnismenge sondern auch die Quelldaten. Vorteile: -schneller, da Änderungen sonst gesondert erfolgen müssen (gesonderte Abfragen; am Besten nach der Schleife). - U.U. entfällt die Notwendigkeit von tem. Tabellen. |
AW: Firebird Cursor - Wozu ? Welche Vorteile ?
Beispiel hier:
![]() Wenn du z.B. in einer Procedure eine Tabelle dürchläufst, um bei bestimmten Datensätzen Änderungen durchzuführen oder zu löschen, dann kann man sich eine DB-Abfrage sparen und ist deutlich scheller. Also anstatt: for select id from mytable into :id delete from mytable where id = :id lieber: for select id from mytable as cursor mycursor delete from mytable where current of mycursor Frank |
AW: Firebird Cursor - Wozu ? Welche Vorteile ?
Zitat:
Danke euch für die Antworten. Ich probiere mich da mal etwas aus. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz