如何在触发器中生成XML文档

leehan 2008-01-19 09:51:47
在数据库表中插入或删除记录后,希望利用触发器把这些记录的地信息保存到一个外部的XML文档中,该如何实现?请高手指教。
...全文
149 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leehan 2008-01-21
  • 打赏
  • 举报
回复
谢谢andy1995
拓狼 2008-01-21
  • 打赏
  • 举报
回复
declare @xml xml
set @xml=(select * from master..sysobjects for xml path('TTT'))
create table ##T
(
col xml
)
insert into ##T select @xml

DECLARE @cmd sysname
SET @cmd = 'bcp "##T" out "D:\T.txt" -c -S(local) -Usa -P123456'
EXEC master..xp_cmdshell @cmd

drop table ##T


----------------------------------------------------
更多内容,详见微软BI开拓者www.windbi.com
leehan 2008-01-21
  • 打赏
  • 举报
回复
先谢过楼上的了,不过这和我希望的不一样,这种方式产生的XML结果应该是在内存中的表示吧,我现在需要的是能把它保存在磁盘的一个XML文件中。
JL99000 2008-01-21
  • 打赏
  • 举报
回复
1 SELECT 2+2 FOR XML PATH
显示为:<row>4</row>
2 SELECT ProductModelID,
Name,
Instructions.query('declare namespace MI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
/MI:root/MI:Location
')
FROM Production.ProductModel
WHERE ProductModelID=7
FOR XML PATH
go
显示为:
<row>
<ProductModelID>7</ProductModelID>
<Name>HL Touring Frame</Name>
<MI:Location ...LocationID="10" ...></MI:Location>
<MI:Location ...LocationID="20" ...></MI:Location>
...
</row>

可以去联机帮助看
leehan 2008-01-20
  • 打赏
  • 举报
回复
是在2005中。能否给个简单的例子,不太明白所说的用法呀。谢谢啦。
正牌风哥 2008-01-19
  • 打赏
  • 举报
回复
2000/2005?

05用 for xml path

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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