XML ファイルに保存されているデータを SQLite データベースにインポートしようとしています。挿入クエリは次のようになります。
INSERT INTO table1 VALUES (rank, name)
SELECT X.record.query('rank').value('.', 'INT'),
X.record.query('name').value('.', 'VARCHAR(30)')
FROM (
SELECT CAST(x AS XML)
FROM OPENROWSET(BULK 'data.xml', SINGLE_BLOB) AS T(x)
) AS T(x)
CROSS APPLY x.nodes('data/record') AS X(record);
XML データは次のようになります。
<data>
<record>
<rank>1</rank>
<name>One</name>
</record>
<record>
<rank>2</rank>
<name>Two</name>
</record>
...
</data>
ただし、「SQL コマンドが外側の SELECT ステートメントで適切に終了していません。その理由がわかりません。何かアイデアはありますか?