我有下面的查询,它返回我需要的信息,但我需要在标量值函数中使用这个查询来使用计算列中的返回值。
XML 列在同一个表中,我需要将 Settings 中的值插入到名为 Directions 的列中
;WITH XMLNAMESPACES ( 'http://www.w3.org/2001/XMLSchema' AS als )
SELECT
a.a.value('@Settings', 'VARCHAR(50)') AS [Settings]
FROM Base AS X
CROSS APPLY X.BaseXML.nodes('als:Name') a(a)
我正在尝试但没有得到任何地方的功能是
CREATE FUNCTION [dbo].[ChooseRevision](@lineId int) Returns integer As
Begin
Return (WITH XMLNAMESPACES ( 'http://www.w3.org/2001/XMLSchema' AS als )
SELECT
a.a.value('@Settings', 'VARCHAR(50)') AS [Settings]
FROM Base AS X
CROSS APPLY X.BaseXML.nodes('als:Name') a(a)
Where LineId = @lideid
)
End
GO
如何将查询包含在 Scarlar 函数中以用作计算列?
<als:Doc xmlns:als="http://www.w3.org/2001/XMLSchema" SchemaVersion="0.1" Settings="First Test" Title="Recovery Loop">
<als:Base Rev="0" Id="201" />
<als:Number TimeStamp="2013-01-21T15:08:00">
<als:Member Name="Club Run" DirId="123" />
</als:Number>
</als:Doc>