我有一个包含xml数据类型的表,其作用类似于审计日志。
CREATE TABLE T (i int, log xml);
日志结构类似于:
<auditLog>
<entry action="Created" description="New item created" value="banana" />
<entry action="Deleted" description="Deleted item" value="apple" />
</auditLog>
我试图弄清楚是否/如何向此xml文件添加另一个条目。我发现很多函数可以将节点添加到当前条目,但不是如何创建新条目。我认为必须有一种简单的方法来做到这一点,但我似乎无法找到它。
任何指示都会非常受欢迎。
答案 0 :(得分:2)
您可能会对XML节点的名称为entry
这一事实感到困惑。您正在做的是将新节点插入XML数据。你可以用这个:
UPDATE T
SET [log].modify('
insert <entry action="Added" description="New entry added" value="orange" />
as last
into (/auditLog)[1]')
WHERE i = 1
更多文档和示例:MSDN