接收一个字符串s,如果字符串s含有key_name字段内容,则替换成带有key_link形式的字符串。
算法:   定位某关键字Key(读取PE_KEY_LINK)
计算key出现的总次数
循环遍历key  并记录序号
第一个最后一个,一定加链接。
中间如果数字差距大,(>3)随机选择一个加链接。
  循环OK!

解决方案 »

  1.   

    create table PE_KEY_LINK
    (
      id int identity primary key,
      key_name varchar(200),
      key_link varchar(200)
    )
    目标:接收一个字符串s,如果字符串s含有key_name字段内容,则替换成带有key_link形式的字符串。
    如:算法:   定位某关键字Key(读取PE_KEY_LINK)
    计算key出现的总次数
    循环遍历key  并记录序号
    第一个最后一个,一定加链接。
    中间如果数字差距大,(>3)随机选择一个加链接。
      循环OK!
      

  2.   

    if object_id('PE_KEY_LINK') is not null drop table PE_KEY_LINK
    go
    create table PE_KEY_LINK
    (
              id int identity primary key,
              key_name varchar(2000),
              key_link varchar(2000)
    )if object_id('p_setLink') is not null drop proc p_setLink
    go
    create proc p_setLink(@s varchar(1000))
    as 
    begin
    create table #t (id int identity,keyspit varchar(200))
    declare @sql varchar(8000)
    declare  @id int,@key_name varchar(200),@key_link varchar(200),@key_name_new varchar(1000)
    declare cur_1 cursor for select id,key_name,key_link from PE_KEY_LINK
    open cur_1
    fetch next from cur_1 into @id,@key_name,@key_link
    while @@fetch_status=0
    begin
    set @key_name_new=''
    set @sql='select '''+replace(@key_name,@s,@s+''' union all select ''')+'A'''
    insert #t exec(@sql) if @@identity-1>5
    update #t set keyspit=replace(keyspit,@s,@key_link) where id=1 or id=@@identity-1
    or id=(select top 1 id from #t where id>1 and id<@@identity order by newid())
    else
    update #t set keyspit=replace(keyspit,@s,@key_link) where id=1 or id=@@identity-1
    select @key_name_new=@key_name_new +keyspit from #t order by id
    update PE_KEY_LINK set key_name=stuff(@key_name_new,len(@key_name_new),1,'') where id=@id
    truncate table #t
    fetch next from cur_1 into @id,@key_name,@key_link
    end
    close cur_1
    deallocate cur_1
    endinsert PE_KEY_LINK
    select 'sql server 要好好学','<a herf=http://www.mss.com>sql server</a>' union all
    select 'sql server 要好好学sql server 要好好学','<a herf=http://www.mss.com>sql server</a>' union all
    select 'sql server 要好好学sql server 要好好学sql server 要好好学sql server 要好好学sql server 要好好学','<a herf=http://www.mss.com>sql server</a>' union all
    select 'sql server 要好好学sql server 要好好学sql server 要好好学sql server 要好好学sql server 要好好学sql server 要好好学','<a herf=http://www.mss.com>sql server</a>' union all
    select 'sql server 要好好学sql server','<a herf=http://www.mss.com>sql server</a>'truncate table PE_KEY_LINKp_setLink 'sql server'select * from PE_KEY_LINK/*id          key_name                                                                                                                                                                                                                                                         key_link                                                                                                                                                                                                                                                         
    ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    1           <a herf=http://www.mss.com>sql server</a> 要好好学                                                                                                                                                                                                                   <a herf=http://www.mss.com>sql server</a>
    2           <a herf=http://www.mss.com>sql server</a> 要好好学<a herf=http://www.mss.com>sql server</a> 要好好学                                                                                                                                                                     <a herf=http://www.mss.com>sql server</a>
    3           <a herf=http://www.mss.com>sql server</a> 要好好学sql server 要好好学sql server 要好好学sql server 要好好学<a herf=http://www.mss.com>sql server</a> 要好好学                                                                                                                        <a herf=http://www.mss.com>sql server</a>
    4           <a herf=http://www.mss.com>sql server</a> 要好好学<a herf=http://www.mss.com>sql server</a> 要好好学sql server 要好好学sql server 要好好学sql server 要好好学<a herf=http://www.mss.com>sql server</a> 要好好学                                                                          <a herf=http://www.mss.com>sql server</a>
    5           <a herf=http://www.mss.com>sql server</a> 要好好学<a herf=http://www.mss.com>sql server</a>                                                                                                                                                                          <a herf=http://www.mss.com>sql server</a>(所影响的行数为 5 行)*/
    是否对症,lz要加分了