我有一个具有ntext数据类型的表包含XML列。
CREATE TABLE #Testing
(
Id int identity,
content ntext
)
INSERT INTO #Testing
VALUES (N'<?xml version="1.0" encoding="UTF-8"?>
<Data <BankAcc><Bankname value="TEST Qərib Bank "/><AccNum value="TEST1221"/></BankAcc>
</Data>')我想将这个数据<Owner value="Qərib"/>插入到现有的ntext数据类型xml列中,下面的代码如下所示
update #Testing
set content.modify(N'insert <Owner value="Qərib"/> into (/Data)[1]')但我发现了一个错误:
Msg 258,15级,状态1,第12行 无法在ntext上调用方法
所以我试着用石膏
update #Testing
set cast(content as varchar(max)).modify(N'insert <Owner value="Qərib"/> into (/Data)[1]')然后我得到了一条错误消息:
Msg 102,15级,状态1,12线 “(”)附近的语法不正确。
有解决办法吗?
发布于 2020-09-25 13:43:09
将数据类型转换为nvarchar(max)、varchar(max)或var二进制(Max)
重要!ntext、文本和图像数据类型将在Server的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。使用nvarchar(max)、varchar(max)和var二进制(Max)代替。
如果它是正确的xml,那么XML数据类型将是最适合的。
https://stackoverflow.com/questions/64065290
复制相似问题