0

次の SQL 挿入ステートメントがあります。

insert into [dbo].[Lookup] (XMLField)
        select          
            '<root>' +          
            '<SQL>' + SQLQueryToEscape + '</SQL>' +         
            '</root>' as CustomData         
        from dbo.CustomView 

私のジレンマは、SQLQueryToEscape に XML セーフではない文字が含まれていることです。文字列をエスケープする必要があります。tSQLでこれを行う最良の方法は何ですか?

4

1 に答える 1

3

文字列を連結する代わりに、FOR XML を使用して適切な XML を生成してください。

insert into [dbo].[Lookup] (XMLField)
select SQLQueryToEscape
from dbo.CustomView 
for xml path ('SQL'), root('root')
于 2012-09-20T22:34:40.893 に答える