sqlserver怎么查询所有的数据库里的记录?
时间:2011-11-09
来源:互联网
我想把字段abcd=1234的记录都查询出来,
请问要怎么操作呢
先谢谢了
作者: xiaoqin1999 发布时间: 2011-11-09
是数据库,还是表?
作者: qianjin036a 发布时间: 2011-11-09
一共有8个数据库
每个数据库里有N个表
作者: xiaoqin1999 发布时间: 2011-11-09
EXEC sp_MSforeachtable 'select * from ? where id=1'
作者: Beirut 发布时间: 2011-11-09
作者: roy_88 发布时间: 2011-11-09
USE master go CREATE TABLE sp_test(TabName NVARCHAR(200)) go USE db1 go DECLARE @s NVARCHAR(max) SET @s='' SELECT @s=@s+' select '+DB_NAME()+'.dbo.'+a.Name+' from '+a.NAME+ ' where abcd=1 ' FROM sysobjects AS a,syscolumns AS b WHERE a.ID=b.ID AND a.xtype='U' --AND b.Name='abcd' INSERT sp_test EXEC(@s)
這樣一個個DB循環執行,最好 select * from sp_test
作者: roy_88 发布时间: 2011-11-09
提供一个思路,用use命令转到要查的表,然后用这个语句找出这个数据库中有字段为abcd 的表,然后再去查:
SQL code
select name from sys.objects a where type='U' and exists(select 1 from sys.columns where name='abcd' and object_id=a.object_id)
用上面的语句查出含字段abcd的表名称后,用
select * from 你查到的表名 where abcd=1234
然后,再use 另一个数据库,用同样的方法进行查询.
由于不同的数据表,列可能是不一样的,因此不能一次将它们都查出来合并到同一个地方.
这样查法,你也能了解一下各个数据库的结构.
作者: qianjin036a 发布时间: 2011-11-09
SQL code
declare @str nvarchar(max) select @str=ISNULL(@str+'; ','')+' select * from '+name+' where abcd=1234' from sys.objects a where type='U' and exists(select 1 from sys.columns where name='abcd' and object_id=a.object_id) exec(@str)
作者: qianjin036a 发布时间: 2011-11-09
作者: fredrickhu 发布时间: 2011-11-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28