请问怎么在数据库所有表中查找一个指定值?

解决方案 »

  1.   

    marco08(天道酬勤) 麻烦兄弟给写一个好么?
      

  2.   

    是的,用动态SQL语句,遍历所有的sysobjects中的表还有,所有syscolumns的字段,应该是可以的
    只是这样效率不是很高
      

  3.   

    --偶然发现这个贴子
    --查整个数据库是否包括字符串“张三”
    declare @str varchar(100)
    set @str='张三'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