copy structure extended 命令

示例 请参阅

创建新表,它的字段包含当前选定表的结构信息。

语法

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

参数

FileName

指定要创建的新表。

DATABASE DatabaseName

指定要添加新表的数据库。

NAME LongTableName

指定新表的长名称。长名称最多可以包含 128 个字符并且可以在数据库中使用短文件名的地方使用它。

FIELDS FieldList

指定在新表的记录中只包含由 FieldList 指定的字段。若省略 FIELDSFieldList,则所有字段在新表中都有一个记录。

说明

当前选定表内每个字段的信息被复制到新表的一条记录中。新表的结构在格式上固定,由 16 个字段组成。

下表列出了这 16 个字段的名称和内容。

字段 字段类型 内容
FIELD_NAME 字符型 当前选定表的字段名
FIELD_TYPE 字符型

字段类型:

C =字符型

Y = 货币型

N = 数值型

F = 浮点型

I = 整型

B =双精度型

D = 日期型

T =日期时间型

L = 逻辑值

M = 备注型

G =通用型

FIELD_LEN 数值型 字段宽度
FIELD_DEC 数值型 数值字段中的小数位数
FIELD_NULL 逻辑型 字段支持 null 值
FIELD_NOCP 逻辑型 不允许代码页转换(只用于字符型字段和备注型字段)
FIELD_DEFA 备注型 字段默认值
FIELD_RULE 备注型 字段有效性规则
FIELD_ERR 备注型 字段有效性文本
TABLE_RULE 备注型 表有效性规则
TABLE_ERR 备注型 表有效性文本
TABLE_NAME 字符型 长表名(只用于第一个记录)
INS_TRIG 备注型 插入触发器表达式(只有第一个记录)
UPD_TRIG 备注型 更新触发器表达式(只有第一个记录)
DEL_TRIG 备注型 删除触发器表达式(只有第一个记录)
TABLE_CMT 备注型 表注释(只有第一个记录)

可对此新表进行修改,然后使用 CREATE FROM 创建一个不同结构的新表。COPYSTRUCTURE 和 CREATE FROM 可以用来以编程方式更改表的结构。

在以前版本的 Visual FoxPro 、FoxPro for Windows 和 FoxPro for MS-DOS 中,FIELD_NAME 字段的宽度为 10。为了将 CREATE FROM 用于一个在 Visual FoxPro 5.0或以前版本使用 COPY STRUCTURE EXTENDED 创建的表,必须将 FIELD_NAME 字段的宽度改为 10 个字符。注意,在 Visual FoxPro 3.0 以及以前版本中不支持有些字段。