修改SQL Server2000中NTEXT的问题
发布网友
发布时间:2022-04-21 02:00
我来回答
共1个回答
热心网友
时间:2022-04-08 23:18
text,ntext,image类型的字段操作有点特殊
WRITETEXT
允许对现有的
text、ntext
或
image
列进行无日志记录的交互式更新。该语句将彻底重写受其影响的列中的任何现有数据。WRITETEXT
语句不能用在视图中的
text、ntext
和
image
列上。
UPDATETEXT
更新现有
text、ntext
或
image
字段。使用
UPDATETEXT
在适当的位置更改
text、ntext
或
image
列的一部分。使用
WRITETEXT
来更新和替换整个
text、ntext
或
image
字段。
你看看这个例子修改下你的存储过程吧
示例
本示例把文本指针置于局部变量
@ptrval
中,然后使用
UPDATETEXT
更新拼写错误。
USE
pubs
GO
EXEC
sp_dboption
'pubs',
'select
into/bulkcopy',
'true'
GO
DECLARE
@ptrval
binary(16)
SELECT
@ptrval
=
TEXTPTR(pr_info)
FROM
pub_info
pr,
publishers
p
WHERE
p.pub_id
=
pr.pub_id
AND
p.pub_name
=
'New
Moon
Books'
UPDATETEXT
pub_info.pr_info
@ptrval
88
1
'b'
GO
EXEC
sp_dboption
'pubs',
'select
into/bulkcopy',
'false'
GO
返回特定文本数据
下例在
pubs
数据库的
pub_info
表中查找与
pub_id
0736
相关联的
text
列
(pr_info)。下例首先声明一个局部变量
@val。然后将文本指针(长二进制字符串)置于
@val
中,并将其作为参数提供给
READTEXT
语句,该语句将返回从第五个字节(偏移量为
4)开始的
10
个字节。
USE
pubs
GO
DECLARE
@val
varbinary(16)
SELECT
@val
=
TEXTPTR(pr_info)
FROM
pub_info
WHERE
pub_id
=
'0736'
READTEXT
pub_info.pr_info
@val
4
10
GO