使用下面的代码,我将得到以下错误:
XQuery节点():不支持XQuery语法'union‘。
DECLARE @input XML = (我试图为这个字符串输入完整的XML,但它不是在这里翻译(被截断)。如果我选择其中的部分,它甚至会被截断。我知道这是回答问题的关键,但也许有人能解释错误,我可以调查这个变量字符串)?
CREATE TABLE #Fields
(F1RowID int identity(1,1),GroupID int,TableID int,FieldName nvarchar(50)
,FieldValue nvarchar(50),OldFieldValue nvarchar(50),ExcludeField bit)
INSERT INTO #Fields (FieldName,FieldValue,TableID,ExcludeField)
SELECT FieldName = C.value('local-name(.)', 'varchar(50)'),
FieldValue = C.value('(.)[1]', 'varchar(50)') ,
TableID = 1,ExcludeField = 0 FROM @input.nodes
('/data/CSNPay|CSNHistoryGroup/CSNPay|CSNHistory/*') AS T(C)发布于 2016-06-06 15:11:42
Server不支持XQuery的联合操作符|。如果单个子查询不返回重叠的结果,那么您实际上并不需要基于集合的联合功能:简单地组合一个序列。否则,你将不得不处理重复的。
FROM @input.nodes('(/data/CSNPay, CSNHistoryGroup/CSNPay, CSNHistory/*)') AS T(C)我不确定这个查询是否真的在执行您所期望的--您确定每个路径(一些从根开始,一些在当前上下文中开始)吗?
https://stackoverflow.com/questions/37660536
复制相似问题