通过操作xml批量导入数据

开发过程中常常需要用到批量导入一批数据的问题,当然不可能通过后台代码循环这些数据集,然后一条一条的往数据库里插入,这样太不可取了。

一般针对这样的批量导入数据,我可以将这些数据集拼接成XML字符串的方式然后传到数据库,通过解析XML的方式批量插入到表中。

sql语句可以这样写

create table Student
(
   ID int identity(1,1),
   userName varchar(100),
   age smallint,
   city varchar(100)
)
declare @hdoc int
declare @SaveStr  varchar(1000)
set @SaveStr = '<?xml version="1.0" encoding="gbk"?><root>
<item userName="张三" age="24" city="北京"></item>
<item userName="李四" age="22" city="上海"></item>
<item userName="王五" age="26" city="深圳"></item>
</root>'

exec sp_xml_preparedocument @hdoc output,@SaveStr;

insert into Student select * from openxml(@hdoc,'root/item')
with Student

这样就可以很方便的导入一批数据到数据库表中了,OK

 

 

posted @ 2013-04-11 16:26  自由小菜园  阅读(863)  评论(0编辑  收藏  举报