语法
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 以及以前版本中不支持有些字段。