データベースに静的データをロードするために使用したい XML ファイルがあります。できれば、sqlcmd ":r" を使用してテキストを置換し、SQL スクリプトで xml をハードコードされたデータとして処理できるようにしたいと考えています。
ハードコーディングされたデータを使用すると、スクリプトが機能します
--Working Code
DECLARE @XML XML
SET @XML = '
<clients>
<client>
<ClientNumber>ClientA</ClientNumber>
</client>
<client>
<ClientNumber>ClientB</ClientNumber>
</client>
</clients>
'
私がやりたいことは、代わりに次のようなものです:
DECLARE @XML XML
SET @XML = '
:r .\ClientData.xml
'
ClientData.xml の内容は、以前にハードコードされた xml テキストと同じです。問題は、sqlcmd パーサーがテスト置換を検出せず、代わりに値 ':r .\ClientData.xml' を xml 変数に入れていることです。
目盛りを削除しようとすると、次のエラーが発生します。
Incorrect syntax near '<'.
テキストが適切に置き換えられるように、ティック内で sqlcmd を強制的に実行する方法はありますか?