PACK-Befehl

Entfernt dauerhaft alle Sätze, die in der aktuellen Tabelle zum Löschen markiert sind, und verringert die Größe einer Memodatei, die der Tabelle zugeordnet ist.

PACK [MEMO] [DBF] [Tablename ] [IN nWorkarea | cTableAlias]

Parameter

  • MEMO
    Komprimiert die Memodatei, aber nicht die Sätze, die in der Tabelle zum Löschen markiert sind. Die Informationen in Memofeldern von Tabellen werden in einer dazugehörigen Memodatei gespeichert. Eine Memodatei hat denselben Namen wie die Tabelle und die Erweiterung FTP.
  • DBF
    Entfernt die Sätze, die in der Tabelle zum Löschen markiert sind, aber beeinflusst nicht die Memodatei.
  • Tablename
    Gibt die Tabelle an, die komprimiert werden soll. Visual FoxPro öffnet die angegebene Tabelle, komprimiert sie und schließt sie dann.
  • IN nWorkArea cTableAlias
    Gibt den Arbeitsbereich oder Tabellenalias an, auf den sich der PACK-Befehl auswirkt. Verwenden Sie diese Klausel zum Angeben eines Arbeitsbereichs oder einer Tabelle außerhalb des aktuellen Arbeitsbereichs.

Hinweise

Wenn Sie den PACK-Befehl ausgeben, kopiert Microsoft Visual FoxPro alle nicht zum Löschen markierten Sätze in eine temporäre Tabelle. Nachdem die Ausführung von PACK beendet ist, löscht Visual FoxPro die Originaltabelle von der Festplatte und benennt die temporäre Tabelle in die Originaltabelle um. Wenn Sie PACK durch Drücken der ESC-Taste unterbrechen, wird die temporäre Tabelle gelöscht, und die Originaltabelle bleibt unverändert. Die Originaltabelle wird ebenfalls wiederhergestellt, wenn beim Ausführen von PACK der Speicherplatz nicht ausreicht.

Wenn Sie den Befehl PACK ohne die MEMO- und DBF-Klauseln ausgeben, beeinflusst er sowohl die Tabelle als auch die Memodatei.

PACK erfordert eine exklusive Verwendung der Tabelle. Weitere Informationen zum exklusiven Öffnen einer Tabelle in einem Netzwerk finden Sie in der Hilfe unter SET EXCLUSIVE.

Wenn ein oder mehrere Indizes der aktuellen Tabelle geöffnet sind, werden die Indexdateien von PACK neu erstellt.

Vorsicht   Markieren Sie unbedingt nur Sätze, die Sie nicht mehr benötigen. Es besteht keine Möglichkeit, gelöschte Sätze nach der Verwendung von PACK wieder abzurufen.

Wenn Sie die IN-Klausel weglassen, dann erfolgt die Komprimierung im aktuellen Arbeitsbereich.

Siehe auch

DELETE – SQL | DELETE | DELETED( ) | RECALL | SET EXCLUSIVE