数据转换追加,这样的存储过程能实现么。
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] ')