Entwickler-Ecke

Datenbanken - Boolean-Feld auf false setzen


colaka - So 18.12.11 17:17
Titel: Boolean-Feld auf false setzen
Hallo,

ich habe eine ziemlich große Tabelle (200.000 Datensätze) mit einem Boolean-Feld, das ich für alle Datensätze auf false setzen möchte. Bis jetzt mache ich das mit einer Schleife durch die ganze Tabelle, doch das dauert ziemlich lange.

Vielleicht gibt es eine Möglickeit, den Vorgang zu beschleunigen. Ich habe mir schon gedacht, das Feld zu löschen und dann wieder neu zu erzeugen. Doch erstens weiß ich nicht, wie man das macht, und zweitens weiß ich nicht, ob das dann schneller ist.

Oder gibt es vielleicht einen direkten Befehl für sowas?

Für Anregungen wäre ich sehr dankbar.

Gruß


bummi - So 18.12.11 17:33

Per SQL, allerdings war das bei der BDE etwas speziell, müsste aber eine Hilfe dabei sein


Klabautermann - Mi 28.12.11 17:31

Hi,

in wie Fern ist das speziell? Eigentlich sollte es doch reichen ein tQuery-Objekt an die Connection zu hängen und dann ein UPDATE <Tabellenname> Set <Feldname>=true zu fahren. Oder habe ich wirklich schon wieder so viele Zicken der BDE verdrängt?

@Colaka: Hier [http://www.delphi-library.de/viewtopic.php?p=1516#1516] findest du unter anderen auch eine Beschreibung wie an so ein Query "fährt" ;).

Gruß
Klabautermann