sql很多表中查一个字符串怎么查找

我的sql有很多的表,当然每个表里也有很多字段,其中有个字段的内容是3.1415926我想找到包含这个内容的数据,所以这些表及表的所有字段都得遍历,请问有什么好办法吗?
我现在的想法就是遍历表名,然后遍历字段名,然后一个个select,这个在sql2000的存储过程能实现吧?还有什么好办法吗?

第1个回答  2010-06-04
select distinct OBJECT_NAME(b.object_id) tablename,a.name
from sys.columns a,sys.tables b
where a.object_id = b.object_id
order by tablename

能查出所有的表及列和他们的对应关系
然后放到表变量里去遍历查找吧,真没有什么好方法。本回答被提问者采纳
第2个回答  2010-06-04
好像没有其他办法,这个存储过程或者可以减轻你写语句的行数:
sp_MSforeachtable
他的作用是循环每个表并动态执行SQL语句
例如:
--统计数据库里每个表的详细情况:
EXEC sp_MSforeachtable @command1="sp_spaceused '?'"
第3个回答  2010-06-04
这样看看,可能效率不高

select * from tbl where 3.1415926 in (select * from tbl)
第4个回答  2020-03-28
什么意思,数据还是字段名
字段可以查
数据不会。。。
第5个回答  2010-06-04
貌似只能轮询。
用存储过程效率应该会高一点,但方法还是用游标轮询。
相似回答