必要な情報を返す以下のクエリがありますが、このクエリをスカラー値関数で使用して、計算列で返された値を使用する必要があります。
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
計算列として使用するスカラー関数内にクエリをどのように含めますか?
<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>