日期:2014-05-19  浏览次数:20358 次

数据转换追加,这样的存储过程能实现么。
SQL服务器上有一个学生数据表,现在新学生需要导入新数据,新数据是学生处COPY过来的,DBF格式.现在想用存储过程来实现学生数据表的数据追加,请问怎么实现从本地DBF格式追加到SQL数据库

简单的举例,SQL数据表
StuSJ   学生数据表
Stu1   Stu2   Stu3   Stu4   Stu5   (各字段记录学生信息)

从学生处COPY过来的表

StuSJ.dbf
SDBF1   SDBF2   SDBF3   SDBF4   SDBF5   SDBF6   SDBF7   SDBF8

DBF里面很多字段在SQL的StuSJ表里面是用不到了,我只想把一部分追加到学生数据表里面,当然这部分数据字段是固定的..这样怎么实现.

------解决方案--------------------
引用
--/* FoxPro 数据库
select * from openrowset( 'MSDASQL ',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\ ',
'select * from [aa.DBF] ')
--*/

/**************导入DBF文件****************/
select * from openrowset( 'MSDASQL ',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF ',
'select * from customer where country != "USA " order by country ')
go
/***************** 导出到DBF ***************/
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

insert into openrowset( 'MSDASQL ',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\ ',
'select * from [aa.DBF] ')
select * from 表

说明:
SourceDB=c:\ 指定foxpro表所在的文件夹
aa.DBF 指定foxpro表的文件名.
------解决方案--------------------
insert into bb(stu1,stu4,stu7)
select SDBF1,SDBF3,SDBF5 from openrowset( 'MSDASQL ',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\ ',
'select * from [aa.DBF] ')