急急急-Updatetext 如何更新某表里的某一行数据

半杯清茶半杯酒
企业官方账号
2017-07-06 04:16:13
大神们,最近做项目,某个字段已超出8K,所以用到了ntext,研究半天搞懂了Updatetext的使用方法,但是现在发现一个,如何只更新指定的某一行数据呢?急急急,没分了。。。
以下为代码示例:


Create Table mu_MailBody
(
ID Int Identity(1,1) Not Null Primary Key,
xType Int,
Body ntext
)

Insert Into mu_MailBody(xType,Body)
Select 1,N'我想后面加字符串AAAAAA+'
Union
Select 2,N'我想后面加字符串BBBBBB+'

Declare @ptr binary(16)
Declare @val nvarchar(max)

Select @ptr=TEXTPTR(Body) From mu_MailBody Where xType=1
Set @val='AAAAAAAAAA'

--这里如何更新xType=1的这一条记录呢?
Updatetext mu_MailBody.Body @ptr Null 0 @val

...全文
420 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OwenZeng_DBA 2017-07-06
  • 打赏
  • 举报
回复
引用 5 楼 henvey1988 的回复:
[quote=引用 1楼yenange 的回复:]
Create Table mu_MailBody
(
    ID Int Identity(1,1) Not Null Primary Key,
    xType Int,
    Body NVARCHAR(MAX)
)
微软推荐:用 nvarchar(max) 来代替 ntext , ntext 是老套的类型, 微软都已经打算放弃了。
https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/ntext-text-and-image-transact-sql
nvarchar(max)字符不够长怎么办?[/quote] TEXT 可以存的 nvarchar(max) 都可以存,不用担心超过长度
  • 打赏
  • 举报
回复
引用 1楼yenange 的回复:
Create Table mu_MailBody
(
    ID Int Identity(1,1) Not Null Primary Key,
    xType Int,
    Body NVARCHAR(MAX)
)
微软推荐:用 nvarchar(max) 来代替 ntext , ntext 是老套的类型, 微软都已经打算放弃了。
https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/ntext-text-and-image-transact-sql
nvarchar(max)字符不够长怎么办?
  • 打赏
  • 举报
回复
关键我字符超过8000啊,咋破解?
AcHerat 2017-07-06
  • 打赏
  • 举报
回复
update tb set col = xxx where xtype = 1
吉普赛的歌 2017-07-06
  • 打赏
  • 举报
回复
Create Table mu_MailBody
(
    ID Int Identity(1,1) Not Null Primary Key,
    xType Int,
    Body NVARCHAR(MAX)
)
微软推荐:用 nvarchar(max) 来代替 ntext , ntext 是老套的类型, 微软都已经打算放弃了。
https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/ntext-text-and-image-transact-sql

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧