总结:
1:Text字段类型不能直接用replace函数来替换,必须用updatetext
2:字段比较不能用 where 字段 = ‘某数据’,可以用like来代替
3:updatetext时,若@ptrval值为空会出错,需注意。
1:Text字段类型不能直接用replace函数来替换,必须用updatetext
2:字段比较不能用 where 字段 = ‘某数据’,可以用like来代替
3:updatetext时,若@ptrval值为空会出错,需注意。
不支持的,就不能用它处理.
而支持text字段处理的仅有:
下面的函数和语句可以与 ntext、text 或 image 数据一起使用。
函数 语句
DATALENGTH READTEXT
PATINDEX SET TEXTSIZE
SUBSTRING UPDATETEXT
TEXTPTR WRITETEXT
TEXTVALID
你象触发器,你只要定义了,在一定条件下就可以触发,不要再用ASP代码去处理,而我这个呢??
我这个是要放到存储过程里还是其他里面,我肯定是要让它自动执行啊,这些代码也不可能到ASP里去执行吧,更何况,本身我的那个表已经存在,也不存在什么要再去建立表的情况啊!!!
我的方法结合ASP使用也没问题啊.你可以将它封装成存储过程处理就行了.
--- 你可以写成存储过程,要处理时调用该存储过程即可
本身我的那个表已经存在,也不存在什么要再去建立表的情况啊!!!
-- 这些建表的语句都是为了测试方便而写的,你完全没必要再创建,直接用你的现有表来处理即可。
create proc p_text
@id varchar(3), --要处理记录的ID号
@s_str varchar(8000), --要添加的字符串
@append bit ----追加方式,1 加在尾部,0 加在首部
as
--字符串添加处理
declare @p varbinary(16),@postion int,@rplen int
select @p=textptr(detail) from test2 where id=@id
if @append=1
updatetext test2.detail @p null null @s_str
else
updatetext test2.detail @p 0 0 @s_str
go