您好,欢迎访问一九零五行业门户网

sql ntext 替换存储过程

sql server 数据库 ntext 字段 的替换存储过程 sqlserver数据库 ntext字段 的替换存储过程 create procedure replace_ntext @table_name nvarchar(100), --目标表名 @field_name nvarchar(100), --目标字段名 @where_str nvarchar(1000), --该表主键字段名 如
sql server 数据库 ntext 字段 的替换存储过程   sqlserver数据库 ntext字段 的替换存储过程 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('''+@old+''') ' set @sqlstr = @sqlstr + ' select @pos = patindex(''%'+@old+'%'',['+@field_name+']) - 1'+' from ['+@table_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(['+@field_name+']) from ['+@table_name+'] where '+ @where_str set @sqlstr = @sqlstr + ' updatetext ['+@table_name+'].['+@field_name+'] @ptrval @pos @len '''+ @new + '''' set @sqlstr = @sqlstr + ' select @pos = patindex(''%'+@old+'%'',['+@field_name+']) - 1'+' from ['+@table_name+'] where '+ @where_str set @sqlstr = @sqlstr + ' set @count=@count+1 ' set @sqlstr = @sqlstr + ' end ' set @sqlstr = @sqlstr + ' select @count' --print @sqlstr execute sp_executesql @sqlstr end
其它类似信息

推荐信息