为了简化起见一个变量,想象我在写这样一个过程:读取的XML
create procedure [dbo].[TestXml]
(@Message xml) -- Passing this '<Test><TransactionID>4</TransactionID></Test>'
as
declare @TransactionID int;
我现在该如何解析事务ID,4,从@Message
到@TransactionID
?
我期待像
select @TransactionID = msg.prop.value('@TransactionID', 'int')
from @Message.nodes('Test') as msg(prop);
或
select @TransactionID = prop.value('@TransactionID', 'int')
from @Message.nodes('Test') as msg(prop);
但是这些都似乎工作。
奇怪的是,我一直在想这不起作用,因为Management Studio中被强调,并说,它无法找到P列。但是,如果我运行它,无论如何它都可以工作。 – pdr 2013-05-07 11:46:25
请尝试更新的答案。 – Devart 2013-05-07 11:47:32
现在它说它找不到列t。但是,如果我运行它,它可以工作。 – pdr 2013-05-07 11:48:58