Freigeben über


COPY STRUCTURE EXTENDED-Befehl

Erstellt eine neue Tabelle mit Feldern, die die Struktur der aktuellen Tabelle enthalten.

COPY STRUCTURE EXTENDED TO FileName   
[DATABASE DatabaseName [NAME LongTableName]]   [FIELDS FieldList]

Parameter

  • FileName
    Gibt die neue Tabelle an, die erstellt werden soll.
  • DATABASE DatabaseName
    Gibt die Datenbank an, der die neue Tabelle hinzugefügt werden soll.
  • NAME LongTableName
    Gibt den langen Namen der neuen Tabelle an. Lange Namen können aus bis zu 128 Zeichen bestehen und in Datenbanken anstelle der kurzen Dateinamen verwendet werden.
  • FIELDS FieldList
    Gibt an, dass nur für die in FieldList aufgeführten Felder in der neuen Tabelle ein Datensatz angelegt wird. Wenn Sie FIELDS FieldList nicht angeben, wird für alle Felder ein Datensatz in der neuen Tabelle angelegt.

Hinweise

Für jedes Feld der aktuellen Tabelle wird ein Datensatz mit Informationen in die neue Tabelle kopiert. Die Struktur der neuen Tabelle ist fest; sie besteht aus 16 Feldern. In der folgenden Tabelle werden die Namen und Inhalte dieser 16 Felder aufgeführt.

Feld Feldtyp Inhalt
FIELD_NAME Zeichen Feldname der ausgewählten Tabelle (maximal 128 Zeichen)
FIELD_TYPE Zeichen Feldtypen: C = Zeichen, Y = Währung, N = Numerisch, F = Gleitkomma, I = Integer, B = Double, D = Datum, T = DatumZeit, L = Logisch, M = Memo, G = Objekt
FIELD_LEN Numerisch Feldbreite
FIELD_DEC Numerisch Bei numerischen Feldern Anzahl der Dezimalstellen
FIELD_NULL Logisch Unterstützung für NULL-Werte im Feld
FIELD_NOCP Logisch Codepageumsetzung ist nicht zulässig (nur Zeichen- und Memofelder)
FIELD_DEFA Memo Standardwert des Feldes
FIELD_RULE Memo Validierungsregeln für das Feld
FIELD_ERR Memo Feldgültigkeitstext
TABLE_RULE Memo Validierungsregeln für die Tabelle
TABLE_ERR Memo Tabellengültigkeitstext
TABLE_NAME Zeichen Langer Tabellenname (nur im ersten Datensatz)
INS_TRIG Memo Insert-Trigger-Ausdruck (nur im ersten Datensatz)
UPD_TRIG Memo Update-Trigger-Ausdruck (nur im ersten Datensatz)
DEL_TRIG Memo Delete-Trigger-Ausdruck (nur im ersten Datensatz)
TABLE_CMT Memo Tabellenkommentar (nur im ersten Datensatz)

Sie können die neu erstellte Tabelle bearbeiten und dann mit CREATE FROM eine neue Tabelle mit einer anderen Struktur erstellen. Mit COPY STRUCTURE und CREATE FROM können Sie die Struktur einer Tabelle programmgesteuert ändern.

Die Breite des FIELD_NAME-Feldes beträgt in früheren Versionen von Visual FoxPro, in FoxPro für Windows und in FoxPro für MS-DOS 10 Zeichen. Zur Verwendung von CREATE FROM mit einer Tabelle, die in Visual FoxPro 5.0 oder früheren Versionen mittels COPY STRUCTURE EXTENDED erstellt wurde, müssen Sie zunächst die Breite des FIELD_NAME-Feldes auf 10 Zeichen ändern. Beachten Sie, dass einige der Feldtypen in Visual FoxPro 3.0 und früheren Versionen nicht unterstützt werden.

Beispiel

Im folgenden Beispiel wird die Struktur der Tabelle orders angezeigt und diese in eine Tabelle namens temp kopiert. Anschließend wird temp angezeigt und eine Tabelle namens backup aus temp erstellt. Abschließend wird die Struktur von backup angezeigt.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders  && Opens Orders table
CLEAR
DISPLAY STRUCTURE

WAIT WINDOW 'Structure of the orders table' NOWAIT
COPY STRUCTURE EXTENDED TO temp
USE temp
WAIT WINDOW 'The temp table - 1 row per field in orders' NOWAIT
BROWSE
CREATE backup FROM temp
USE backup
DISPLAY STRUCTURE
WAIT WINDOW 'Backup.dbf has the same structure as orders' NOWAIT
USE
DELETE FILE temp.dbf
DELETE FILE backup.dbf

Siehe auch

AFIELDS( ) | CREATE FROM | COPY STRUCTURE-Befehl