MS SQL Server中的FOR XML命令是否将文件保存在磁盘中?
我正在创建一个触发器来记录表中的操作,并且该触发器的一部分是使用受影响的行创建XML。我正在考虑使用FOR XML来生成XML。
SELECT *
FROM TBL_Test
WHERE ID=3040
FOR XML RAW
我担心的是我会在触发器中使用它,每次调用FOR XML函数时我都不想在服务器中保存文件。
另外:你们知道如何解析varchar吗?
提前感谢您的帮助!
答案 0 :(得分:1)
与任何SELECT
查询一样,带有FOR XML
子句的查询会将结果返回给客户端,而不是将结果保存到磁盘。
您可以使用标量子查询将结果XML分配给varchar变量,而不是返回到客户端:
DECLARE @xml varchar(MAX) =
(
SELECT *
FROM dbo.TBL_Test
WHERE ID=3040
FOR XML RAW
);