查找当前数据库服务器中某张表存在于哪个数据库中

Posted Fong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找当前数据库服务器中某张表存在于哪个数据库中相关的知识,希望对你有一定的参考价值。

 1 --
 2 --查找当前数据库服务器中某张表存在于哪个数据库中,sqlserver2008测试通过
 3 --
 4 declare @tableName varchar(50)
 5 --这里设置要查询的表名字
 6 set @tableName=Products
 7  
 8 --清理临时表
 9 if object_id(tempdb..#tmpdbs) is not null Begin
10     drop table #tmpdbs
11 End
12 if object_id(tempdb..##tmpResults) is not null Begin
13     drop table ##tmpResults
14 End
15  
16 --手动创建全局临时表,下面插入时只能使用insert into ,不能使用select into ,后者会自动创建临时表
17 create table ##tmpResults(
18     DbName varchar(50),
19     Name varchar(50),
20     XType varchar(50)
21 )
22  
23 Select  Name,ROW_NUMBER() over(order by Name) as rowid into #tmpdbs  FROM Master..SysDatabases  Name
24 declare @dbName varchar(50)
25 declare @rowid int
26 declare @count int
27  
28 set @rowid=1
29 select @count=count(*) from #tmpdbs
30  
31 while @rowid <= @count
32 begin
33     --print(@rowid)
34     select @dbName=[Name] from #tmpdbs where rowid=@rowid
35     exec (insert into ##tmpResults Select ‘‘‘+@dbName+‘‘‘ as DbName,Name,xtype  FROM +@dbName+..SysObjects Where (XType=‘‘U‘‘ or XType=‘‘SN‘‘)  and Name=‘‘‘+@tableName+‘‘‘ ORDER BY Name)
36     set @rowid=@rowid+1
37 end
38  
39 --查看结果
40 select * from  ##tmpResults
41  
42 --清理临时表
43 if object_id(tempdb..#tmpdbs) is not null Begin
44     drop table #tmpdbs
45 End
46 if object_id(tempdb..##tmpResults) is not null Begin
47     drop table ##tmpResults
48 End

 

以上是关于查找当前数据库服务器中某张表存在于哪个数据库中的主要内容,如果未能解决你的问题,请参考以下文章

Java代码判断数据库中某张表是否存在

将Oracle数据库中某张表的内容导出成文本格式文件

如何导出oracle数据库中某张表到excel

查看Sql Server库中某张表的结构

oracle查看表中否存在某字段,数据库是否存在某张表

sql语句如何查询一个表中某两个字段的相同数据?