sql ntext 替换存储过程

前端之家收集整理的这篇文章主要介绍了sql ntext 替换存储过程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

create procedure replace_ntext          
  @table_name    nvarchar(100),--目标表名      
  @field_name    nvarchar(100),--目标字段名      
  @where_str        nvarchar(1000),--该表主键字段名  如id=1     
  @old    nvarchar(1000),--需要替换的字符串      
  @new    nvarchar(1000)         --替换后的字符串         
as     
begin  
   
declare @sqlStr nvarchar(4000)    
	set @sqlStr = 'declare @pos int,@len int,@count int  set @count=0  set @len=len('''[email protected]+''') '
	set @sqlStr = @sqlStr + ' select @pos = patINDEX(''%'[email protected]+'%'',['[email protected]_name+']) - 1'+' from ['[email protected]_name+'] where '+ @where_str
	set @sqlStr = @sqlStr + ' while @pos>0 ' 
	set @sqlStr = @sqlStr + ' begin'   
	set @sqlStr = @sqlStr + ' declare @ptrval binary(16)'      
	set @sqlStr = @sqlStr + ' SELECT  @ptrval  =  TEXTPTR(['[email protected]_name+'])   from ['[email protected]_name+'] where '+  @where_str
	set @sqlStr = @sqlStr + ' UPDATETEXT ['[email protected]_name+'].['[email protected]field_name+'] @ptrval  @pos  @len '''+ @new + ''''
	set @sqlStr = @sqlStr + ' select @pos = patINDEX(''%'[email protected]+'%'',['[email protected]_name+']) - 1'+' from ['[email protected]_name+'] where '+ @where_str
	set @sqlStr = @sqlStr + ' set  @[email protected]+1 '
	set @sqlStr = @sqlStr + ' end '
	set @sqlStr = @sqlStr + ' select @count'
      --print @sqlStr
        execute sp_executesql   @sqlStr           
end    



以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的MySQL相关文章