| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4045 人关注过本帖
标题:如何将多个分表合并成一个总表
只看楼主 加入收藏
haode121
Rank: 2
等 级:论坛游民
帖 子:22
专家分:19
注 册:2016-5-11
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:9 
如何将多个分表合并成一个总表
有三十多个部门,给报的员工工资表。我想把这三十多个dbf合并到一个总库,有没有简单的方法。
里边的字段都是一样的。
如果是用追加记录,需要追加三十多次。容易丢失。
搜索更多相关主题的帖子: 如何 记录 
2016-06-23 00:08
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:2 
用循环

只求每天有一丁点儿的进步就可以了
2016-06-23 06:48
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:2 
通过adir()函数将符合要求的dbf文件名存入数组中,通过循环逐个将分表追加到总表。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-06-23 06:48
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
效率是第一位的
3楼方法是最佳方案

坚守VFP最后的阵地
2016-06-23 08:39
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:2 
for...endfor
2016-06-23 14:27
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
质量是第一位的,效率是第二。
没有最佳,只有更佳。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-06-23 16:02
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
不要把质量和效率对立起来,不同的情况用采用不同的方法。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-06-23 16:05
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
Select * From T01 ;
    UNION All ;
    Select * From T02 ;
    UNION All ;
    Select * From T03 ;
    UNION All ;
    Select * From T04 ;
    UNION All ;
    Select * From T05 ;
    UNION All ;
    Select * From T06 ;
    UNION All ;
    Select * From T07 ;
    UNION All ;
    Select * From T08 ;
    UNION All ;
    Select * From T09 .... T30....可以 30 多个表

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-06-24 17:10
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
*!*    Append 和 Select SQL 方法追加记录的速度比较:

Clear
Close Databases
Set Talk Off

*!*    1. 样本测试数据构造:9表 x 100,000记录 = 900,000条
? "正在构造样本测试数据......"
For I = 1 To 9
    lcTab = "T" + Transform(I, "@L 99")
    Create Cursor &lcTab. (Id I, Name C (10))
    ? lcTab
    For J = 1 To 100000
        Insert Into &lcTab. Values (J, Sys(3))
    Endfor
Endfor
? "=================="

*!*    2. Append 方法,耗时 2.913 秒
T1 = Seconds( )
Create Cursor TT1 (Id I, Name C (10))
Select TT1
Append From Dbf("T01")
Append From Dbf("T02")
Append From Dbf("T03")
Append From Dbf("T04")
Append From Dbf("T05")
Append From Dbf("T06")
Append From Dbf("T07")
Append From Dbf("T08")
Append From Dbf("T09")
? "Append 方法,记录数:" + Transform(Reccount()) + ",耗时秒:" + Transform(Seconds( ) - T1)

? "=================="

*!*    3. Select SQL 方法,耗时 1.525 秒
T1 = Seconds( )
Select * From T01 ;
    UNION All ;
    Select * From T02 ;
    UNION All ;
    Select * From T03 ;
    UNION All ;
    Select * From T04 ;
    UNION All ;
    Select * From T05 ;
    UNION All ;
    Select * From T06 ;
    UNION All ;
    Select * From T07 ;
    UNION All ;
    Select * From T08 ;
    UNION All ;
    Select * From T09 ;
    Into Cursor TT2
? "Select SQL 方法,记录数:" + Transform(Reccount()) + ",耗时秒:" + Transform(Seconds( ) - T1)

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-06-24 17:33
chuxue
Rank: 1
等 级:新手上路
帖 子:78
专家分:4
注 册:2008-1-22
收藏
得分:0 
哪个最好?没看懂
2016-12-26 16:08
快速回复:如何将多个分表合并成一个总表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045255 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved