工作需要, 问个简单的问题, 公司用的是SQl Server 2000, 现在是这样的, 我要在数据库里面(该数据库名叫Company,它里面有很多表的)找出所有"深圳光明网络有限公司"这样的字眼,请问用的是什么命令? 在哪里输入命令?(对不起我真的好菜).
然后我想把找到的"深圳光明网络有限公司"替换成"深圳光辉网络有限公司",请问用的又是什么命令?
一个是查询,一个是替换,希望都写出来,最重要的是,请问这命令在哪里输入? 谢谢了!
其实我想找个第三放软件,例如ASP程序包之类的来操作,这样或者比较简单些,不知道有没有第三方软件? SQL-Server管理器看到都怕怕呀~~~

解决方案 »

  1.   


    declare @str varchar(100)
    set @str = 'x'     --要搜索的字符串  declare @s varchar(8000)
    declare tb cursor local for
    select s='if exists(select 1 from ['+b.name+ '] where ['+a.name+ '] like ''%'+@str+ '%'')
    print ''所在的表及字段: ['+b.name+ '].['+a.name+ ']'''
    from syscolumns a join sysobjects b on a.id=b.id
    where b.xtype= 'U' and a.status>=0
    and a.xusertype in(175,239,231,167)
    open tb
    fetch next from tb into @s
    while @@fetch_status=0
    begin
    exec(@s)
    fetch next from tb into @s
    end
    close tb
    deallocate tb 
      

  2.   

    step1. 找到所有类型为char,varchar,nchar,nvarchar的表.字段
    step2. 对上面的结果集套用下面的代码declare @sql varchar(1000)
    set @sql = 'select '+表.字段+' from '+表+' where '+字段+'='''深圳光明网络有限公司'''
    exec(@sql)
    step3. 将step2中的select代码改为:
    set @sql = 'update '+表+' set '+表.字段+'=''深圳光辉网络有限公司'' where '+字段+'='''深圳光明网络有限公司'''
      

  3.   


    create  proc ppppp  
    @aa varchar(1000) -- 搜索内容
    ,@CC VARCHAR(800)  --数据库名字
    as   declare @a varchar(100), @b varchar(10) 
    DECLARE @U TABLE(A VARCHAR(10),B VARCHAR(10)) 
    begin  
    declare pppp cursor  
      
    for   
    select   a.name,b.name from   syscolumns   a,sysobjects   b   where   a.id=b.id   and   
    b.id=object_id(@CC)   
    and b.xtype='u'  
      
    open pppp  
    fetch next from pppp into @a,@b  
    while(@@fetch_status=0)  
    beginexec('SELECT  * into dd   FROM  ' +@B+''+ '  WHERE  '+@A +' LIKE '+''+@AA  )
    if (select count(*) from dd)>=1INSERT INTO @U
    VALUES(@A,@B) 
    drop table dd
    end
    select * from @u
    close pppp   
    deallocate pppp
    end
      

  4.   

    我发现原来那个数据是long text,不知道该怎样修改呀~~