加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL 2005对xml文件与xml数据的操作

发布时间:2016-01-18 18:32:43 所属栏目:MsSql教程 来源:网络整理
导读:由于数据库对xml数据直接处理有很多优势,05也对这方面加强了功能。 但这方面资料少,所以自己做了一些总结,希望会给大家带来帮助 --charry0110(晓风残月) --
由于数据库对xml数据直接处理有很多优势,05也对这方面加强了功能。

但这方面资料少,所以自己做了一些总结,希望会给大家带来帮助

--charry0110(晓风残月)

--用SQL多条可以将多条数据组成一棵XML树L一次插入

--将XML树作为varchar参数传入用

--insert xx select xxx from openxml() 的语法插入数据

-----------------------------------导入,导出xml--------------------------

--1导入实例

--单个表

--charry0110(晓风残月)
create table Xmltable(Name nvarchar(20),Nowtime nvarchar(20))
declare @s as nvarchar(2000);
set @s = N'
<Xmltables>
      <Xmltable Name="1" Nowtime="1900-1-1">0</Xmltable>
      <Xmltable Name="2" Nowtime="1900-1-1">0</Xmltable>
      <Xmltable Name="3" Nowtime="1900-1-1">0</Xmltable>
      <Xmltable Name="4" Nowtime="1900-1-1">0</Xmltable>
      <Xmltable Name="5" Nowtime="1900-1-1">0</Xmltable>
</Xmltables>';
declare @idHandle as int ;
EXEC sp_xml_preparedocument @idHandle OUTPUT, @s
insert into Xmltable(Name,Nowtime)
select * from openxml(@idHandle,N'/Xmltables/Xmltable')
with dbo.xmltable
EXEC sp_xml_removedocument @idHandle
select * from Xmltable

-----------------------读入第二个表数据--------------------

create table Xmlta(Name nvarchar(20),Nowtime nvarchar(20))
declare @s as nvarchar(4000);
set @s =N'
<Xmltables>
    <Xmltb Name="6" Nowtime="1900-2-1">0</Xmltable>
    <Xmlta Name="11" Nowtime="1900-2-1">0</Xmlta>
</Xmltables>
';
declare @idHandle as int ;
EXEC sp_xml_preparedocument @idHandle OUTPUT, @s
insert into Xmlta(Name,Nowtime)
select * from openxml(@idHandle,N'/Xmltables/Xmlta')
with dbo.xmlta
EXEC sp_xml_removedocument @idHandle
select * from Xmlta
drop table Xmlta

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读