COPY STRUCTURE EXTENDED (Comando)
Crea una nueva tabla con campos que contienen la estructura de la tabla seleccionada actualmente.
COPY STRUCTURE EXTENDED TO FileName
[DATABASE DatabaseName [NAME LongTableName]] [FIELDS FieldList]
Parámetros
- FileName
Especifica la tabla nueva que se va a crear. - DATABASE DatabaseName
Especifica una base de datos a la que se agregará la nueva tabla. - NAME LongTableName
Especifica un nombre largo para la nueva tabla. Los nombres largos pueden contener un máximo de 128 caracteres y se pueden utilizar en lugar de nombres cortos de archivo en la base de datos. - FIELDS FieldList
Especifica que solamente se incluyan en un registro de la nueva tabla los campos especificados en FieldList. Si omite FIELDS FieldList, todos los campos tendrán un registro en la nueva tabla.
Observaciones
La información acerca de cada campo de la tabla seleccionada actualmente se copia a un registro de la nueva tabla. La estructura de la nueva tabla es fija en cuanto a formato y consta de dieciséis campos. En la tabla siguiente se muestran los nombres de los 16 campos y su contenido.
Campo | Tipo de campo | Contenido |
---|---|---|
FIELD_NAME | Character | Nombres de campo de la tabla seleccionada (hasta 128 caracteres) |
FIELD_TYPE | Character | Tipos de campo:C = CharacterY = CurrencyN = NumericF = FloatI = IntegerB = DoubleD = DateT = DateTimeL = LogicalM = MemoG = General |
FIELD_LEN | Numeric | Ancho del campo |
FIELD_DEC | Numeric | Número de decimales en campos numéricos |
FIELD_NULL | Logical | Compatibilidad del campo con valores nulos |
FIELD_NOCP | Logical | Conversión de página de códigos no permitida (solamente campos Character y Memo) |
FIELD_DEFA | Memo | Valores predeterminados del campo |
FIELD_RULE | Memo | Reglas de validación del campo |
FIELD_ERR | Memo | Texto de validación del campo |
TABLE_RULE | Memo | Regla de validación de tabla |
TABLE_ERR | Memo | Texto de validación de la tabla |
TABLE_NAME | Character | Nombre largo de tabla (sólo para el primer registro) |
INS_TRIG | Memo | Expresión del desencadenador Insert (sólo para el primer registro) |
UPD_TRIG | Memo | Expresión del desencadenador Update (sólo para el primer registro) |
DEL_TRIG | Memo | Expresión del desencadenador Delete (sólo para el primer registro) |
TABLE_CMT | Memo | Comentarios de tabla (sólo para el primer registro) |
Puede modificar la tabla recién creada y luego usar CREATE FROM para crear una nueva tabla con otra estructura diferente. COPY STRUCTURE y CREATE FROM permiten cambiar mediante programación la estructura de una tabla.
El ancho del campo FIELD_NAME es de 10 caracteres en versiones anteriores de Visual FoxPro, FoxPro para Windows y FoxPro para MS-DOS. Para utilizar CREATE FROM con una tabla creada mediante COPY STRUCTURE EXTENDED en Visual FoxPro 5.0 y anteriores, es necesario que cambie el ancho del campo FIELD_NAME a 10 caracteres. Observe que algunos tipos de campos no son compatibles con Visual FoxPro 3.0 y las versiones anteriores.
Ejemplo
El ejemplo siguiente muestra la estructura de la tabla orders
, copia la estructura extendida a una tabla temp
, explora temp
, crea una tabla backup
a partir de temp
y muestra la estructura de backup
.
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