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