简易的全库搜索特定字符串的语句

guguda2008 2014-11-27 12:08:22
加精
客户扔过来一个OA库要我自己找合同和附件表,没文档,表名乱起的。

手头只有前台登陆方式,于是拉了几个合同编号和附件名称,用来作为搜索的条件。

没存全库搜索的脚本,现写了一个简单的语句,实现查找符合以下条件的表:
1.某char/nchar/varchar/nvarchar类型的列存储的值为指定字符串
2.只有一行符合此条件

语句输出符合条件的表名,然后自己再分析。

这样用唯一标识来找表就比较方便了。

语句如下:
if OBJECT_ID('fun_mu') is not null drop function fun_mu
go
create function fun_mu(@tb varchar(100),@text varchar(8000))
returns varchar(max)
as
begin
declare @sql varchar(max)
select @sql=ISNULL(@sql+' or ','union all select '''+OBJECT_NAME(object_id)+''' from '+OBJECT_NAME(object_id)+' where 1=1 and ')+t1.name+' = '''+@text+''''
from sys.columns t1
inner join sys.types t2 on t1.system_type_id=t2.system_type_id
where OBJECT_NAME(object_id)=@tb and (t2.name like '%char')

return @sql+' having count(1)=1'
end

go

declare @sql varchar(max)
select @sql=isnull(@sql+'
','')+dbo.fun_mu(name,'20141024165032914')
from sys.tables t1
inner join sys.partitions t2 on t1.object_id=t2.object_id and t2.index_id in (0,1) and t2.rows>0

--print stuff(@sql,1,10,'')
exec stuff(@sql,1,10,'')
...全文
1911 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
twtiqfn 2014-12-08
  • 打赏
  • 举报
回复
真的有那么简单吗
---涛声依旧--- 2014-12-04
  • 打赏
  • 举报
回复
javadaddy 2014-12-03
  • 打赏
  • 举报
回复
学习了这么好的东西
wShineboy 2014-12-02
  • 打赏
  • 举报
回复
到此一游,说了就走。
JAYGEYAJUN 2014-12-01
  • 打赏
  • 举报
回复
感谢分享!
mr_wangb 2014-12-01
  • 打赏
  • 举报
回复
高端、大气!
reenjie 2014-12-01
  • 打赏
  • 举报
回复
程序员鼓励师 2014-11-30
  • 打赏
  • 举报
回复
guguda2008 2014-11-30
  • 打赏
  • 举报
回复
引用 2 楼 ap0405140 的回复:
感谢分享, 请问为何不用SQL Profiler工具跟踪得到表名呢?
因为没有机器能边上客户的服务器
hugh_z 2014-11-29
  • 打赏
  • 举报
回复
learning
qq_24020507 2014-11-29
  • 打赏
  • 举报
回复
谢谢分享11111111
GW786228836 2014-11-29
  • 打赏
  • 举报
回复
cattpon 2014-11-29
  • 打赏
  • 举报
回复
感谢分享~~
Neo_whl 2014-11-29
  • 打赏
  • 举报
回复
mark接分
ttl679ttl 2014-11-28
  • 打赏
  • 举报
回复
nettman 2014-11-28
  • 打赏
  • 举报
回复
感谢楼主分享,收藏下
rickys2080 2014-11-28
  • 打赏
  • 举报
回复
hugh_z 2014-11-28
  • 打赏
  • 举报
回复
learning
GW786228836 2014-11-28
  • 打赏
  • 举报
回复
laoer_2002 2014-11-28
  • 打赏
  • 举报
回复
谢谢楼主分享
加载更多回复(6)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧