如何使用FoxPro中现有表格中的所有结构/架构制作副本?
copy to
没有工作
答案 0 :(得分:3)
VFP中没有单个命令可以复制现有表可能具有的所有内容。您必须定义您的要求以及现有表格的表现。
例如,对于包含数据的简单复制,您可以使用:
copy to NewTableName with cdx [Database dbName [Name tableNameInNewDb]]
这将复制结构以及索引和现有数据。但是,它不会复制其他数据库级属性(如果有)。您需要将cursorgetprop()\ cursorsetprop(),dbgetprop()\ dbsetprop()用于其他人。
执行完整复制的一种方法是首先使用(home()+'tools \ gendbc \ gendbc.prg')获取数据库的程序化版本和表创建,然后编辑新表的生成代码(还要附加旧代码。)
希望您最初向我们解释说“复制到不起作用”是什么意思。
PS:我注意到你的问题标题是“制作空白副本”。然后你可能想要使用:
copy to NewTableName with cdx for .F.
它会复制结构和索引,但不会复制数据。其他缺点仍然适用。如果您不需要索引,那么更简单的方法是:
select * from sourceTable where .F. into table targetTable
编辑:正如LAK指出的那样,在大型桌子上使用WHILE而不是FOR会更快:
copy to NewTableName with cdx while .F.
答案 1 :(得分:2)
它的
copy structure to newfile
或者,
copy to newfile for .f.