读书人

如何把XML数据存入数据库

发布时间: 2013-09-14 13:03:22 作者: rapoo

怎么把XML数据存入数据库
程序前台传过来一个XML的字符串。
我现在存储过程里,要用拼接sql语句的方式,把这个xml数据存入数据库表的某个varchar字段里面。该怎么做?

类似的过程如下


create procedure test
@XML varchar(max) ,
@xx varchar(20),
……,
……
as
Declare @sql varchar(max)
set @sql='insert into tb(XX,……,xmls)
select '''+@xx+''','''+……+……''',''','''+@XML+''''
exec(@sq)



如果这样做的话,由于XML里面可能含有‘,等符号,会导致@sql出错。
如果用把特殊符号转换掉的话,那么如果要转换的地方很多的话,会影响性能

有没有什么好的办法?


[解决办法]


DECLARE @TMPXML VARCHAR(MAX)
SET @TMPXML =replace(@XML,'''','tszf')

拼接的时候,用@TMPXML 代替@XML。就是单引号出问题。其他的不会。
之后再执行:


UODATE TB SET XML=REPLACE (XML,'tszf','''')

读书人网 >SQL Server

热点推荐