I私はデータベースに挿入する次のXMLを持って、私は次のSQLSQL、XMLの挿入複数のノード
INSERT INTO test (startLocation,endLocation,mon,tue)
SELECT
X.product.query('startLocation').value('.', 'VARCHAR(255)'),
X.product.query('endLocation').value('.', 'VARCHAR(255)'),
X.product.query('Mon').value('.', 'VARCHAR(255)'),
X.product.query('Tue').value('.', 'VARCHAR(255)')
FROM (
SELECT CAST(x AS XML)
FROM OPENROWSET(
BULK '#fileLocation#',
SINGLE_BLOB) AS T(x)
) AS T(x)
CROSS APPLY x.nodes('latestjourneys/journey') AS X(product)
私はこのコードを使用するだけstartLocationを使用しています
<latestjourneys>
<journey>
<startLocation>London</startLocation>
<endLocation>manchester</endLocation>
<leavingDay>
<mon>Yes</mon>
<tue>No</tue>
</leavingday>
<journey>
<journey>
<startLocation>Liverpool</startLocation>
<endLocation>Cardiff</endLocation>
<leavingDay>
<mon>Yes</mon>
<tue>No</tue>
</leavingday>
<journey>
</latestjourneys>
endLocationが挿入されます。 CROSS APPLYを変更すると
CROSS APPLY x.nodes('latestjourneys/journey/leavingDay') AS X(product)
日が挿入されます。
私は両方のデータを挿入できる方法はありますか?私はSQLのXMLサポートと本当に慣れていないんだけど、私は願っています
X.product.value('/latestjourneys/journey/leavingDay')
:
** **データベースシステムとバージョンは何ですか? ** SQL **は多くのデータベースシステムで使用されている言語であるStructured Query Languageです - SQLは**データベース製品ではありません... XMLサポートのようなものはベンダー固有のものです。 ... –
また、あなたのXMLは無効です - ''の終了タグは ' '(大文字の問題!)でなければならず、 ''ノードはまったく閉じていません - 彼らの "閉じる"タグは再び ''です - うまくいきません... –