当前位置: 代码迷 >> VFP >> 怎么分别在已有大量数据的dbf表与sql数据库表中加入自增值字段,并使原有记录的该字段值为行号值
  详细解决方案

怎么分别在已有大量数据的dbf表与sql数据库表中加入自增值字段,并使原有记录的该字段值为行号值

热度:1964   发布时间:2013-02-26 00:00:00.0
如何分别在已有大量数据的dbf表与sql数据库表中加入自增值字段,并使原有记录的该字段值为行号值?
如何分别在已有大量数据的dbf表与sql数据库表中加入自增值字段,并使原有记录的该字段值为行号值,以后添加的记录按现有记录的最后一行值递增。敬向电脑专家请教,不胜感激!

------解决方案--------------------------------------------------------
SQL:

alter table TableName add ColName int identity(1,1)

执行后,sql会自动把行号放进去


------解决方案--------------------------------------------------------
Dbf:

alter table TableName add ColName i
Replace ColName with Recno()

再设一个表,保存最大的ColName值,以后每次新增时,取该表最大值加1
------解决方案--------------------------------------------------------
dbf表

*-- vfp7.0 以上

SQL code
Create Table dbf表名 (字段1 c(10))Insert Into dbf表名 Values ('a')Insert Into dbf表名 Values ('b')Insert Into dbf表名 Values ('c')Browse && 看一下原内容Alter Table dbf表名 Add Column 自增量字段 IUpdate dbf表名 Set 自增量字段=Recno()Alter Table dbf表名 Alter Column 自增量字段 I Autoinc Nextvalue Reccount()+1 Step 1Browse && 增加自增量字段后Insert Into dbf表名 (字段1) Values ('d')Browse
------解决方案--------------------------------------------------------
探讨
十豆三的这个用法有点新意:
Alter Table dbf表名 Alter Column 自增量字段 I Autoinc Nextvalue Reccount()+1 Step 1

我是担心如果最后一行被删除后,再pack,再新增时,会重复取值,可测试结果没有,有点意思,学习了!
  相关解决方案