私は現在、XMLをStorageというテーブルのdataというXMLタイプの列に格納するこのコードを持っています。
CREATE TABLE Storage
(
ID INT IDENTITY(1,1) PRIMARY KEY,
data XML NOT NULL
)
GO
INSERT INTO Storage(data)
VALUES('<footballteams>
<team manager="Benitez">
<name>Liverpool</name>
<ground>Anfield</ground>
</team>
<team manager="Mourinho">
<name>Chelsea</name>
<ground>Stamford Bridge</ground>
</team>
<team manager="Wenger">
<name>Arsenal</name>
<ground>Highbury</ground>
</team>
</footballteams>');
データを細断処理してFootballView(TeamName、Manager、Ground)の形式で表示するFootballViewというビューを作成したいと思います。
以前、.nodes()メソッドを使用して完全なドキュメントをテーブル列に細断処理しましたが、ビューを作成するときはより難しいようです(ビューを使用する理由があります)。問題は、以前はxml ='xmlcontent'としてDECLAREされた変数@inputで.nodesを呼び出したばかりですが、ビューではこれを実行できず、Storageテーブル列に含まれるXMLを解析したいということです。
何か案は?前もって感謝します。
編集:
以前は、テーブルに細断処理した場合、これは私が使用するコードになります。
SELECT
TeamName = Foot.value('(name)[1]', 'varchar(100)'),
Manager = Foot.value('(@manager)', 'varchar(100)'),
Ground = Foot.value('(ground)[1]', 'varchar(100)')
FROM
@input.nodes('/footballteams/team') AS Tbl(Foot)
EDIT2:これは私が期待する出力です。