使用select ...for xml生成的xml文件如何重新导入到数据库中

ansi 2003-10-04 08:53:08
如我用select top 2 * from admin for xml auto 生成的xml文件

<admin id="4" username="admin" password="admin" levels="1" content="" deleted="0"/>
<admin id="5" username="123" password="123" levels="4" content="" deleted="0"/>

如何导入另一个数据库中?
...全文
17 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ansi 2003-10-05
  • 打赏
  • 举报
回复
明白了,谢谢:)
pengdali 2003-10-05
  • 打赏
  • 举报
回复
使用openxml的格式是这样的。

insert 你的表 SELECT *
FROM OPENXML (@idoc, '/root/admin',1)
WITH ([id] int,
username varchar(20),
[password] varchar(20),
levels int,
content varchar(8000),
deleted int)
ansi 2003-10-05
  • 打赏
  • 举报
回复
username varchar(20),
[password] varchar(20),
levels int,
content varchar(8000),
deleted int)
什么意思?我得表已经建好了 ,而且字段大小都规定好了
pengdali 2003-10-04
  • 打赏
  • 举报
回复
DECLARE @idoc int
DECLARE @doc varchar(1000)
set @doc='<root>'+'<admin id="4" username="admin" password="admin" levels="1" content="" deleted="0"/>
<admin id="5" username="123" password="123" levels="4" content="" deleted="0"/>'+'</root>'

--开始:

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT *
FROM OPENXML (@idoc, '/root/admin',1)
WITH ([id] int,
username varchar(20),
[password] varchar(20),
levels int,
content varchar(8000),
deleted int)

--或:

insert 你的表 SELECT *
FROM OPENXML (@idoc, '/root/admin',1)
WITH ([id] int,
username varchar(20),
[password] varchar(20),
levels int,
content varchar(8000),
deleted int)

EXEC sp_xml_removedocument @idoc

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧