如何从FoxPro中的现有表中使用所有结构/模式进行副本?
copy to
无法正常工作
VFP中没有单个命令,可以使用现有表可能拥有的所有内容复制。您必须定义您的要求,并且现有表有什么好处。
例如,对于可以使用数据的简单副本:
copy to NewTableName with cdx [Database dbName [Name tableNameInNewDb]]
这将与索引和现有数据一起复制结构。但是,如果有的话,它不会复制其他数据库级别属性。您需要使用CursorgetProp() CursorsetProp(),dbgetProp() dbsetprop()作为其他。
使用(Home(Home() 'Tools gendbc gendbc.prg')创建数据库和表创建表的程序化版本的一种方法,然后为新表编辑生成的代码(也要从旧代码附加代码)。
希望您最初向我们解释说"副本不起作用"是什么意思。
ps:我注意到您的问题标题是说"制作空白副本"。那么您可能要使用:
copy to NewTableName with cdx for .F.
它将复制结构和索引,而不是数据。其他缺点仍然适用。如果您不需要索引,那么一种简单的方法是:
select * from sourceTable where .F. into table targetTable
编辑:正如Lak所指出的那样,在大桌子上使用而不是使用时会更快:
copy to NewTableName with cdx while .F.
它是
copy structure to newfile
或,或者,
copy to newfile for .f.