SQLServer 存于数据库中哪一个库哪一个表中

假如有一台数据库服务器,里面有很多库,而自己对这些库结构又不是很了解,想查找一张表在哪的话,可以借助下面这段SQL语句

 

--
--查找当前数据库服务器中某张表存在于哪个数据库中,sqlserver2008测试通过
--
declare @tableName varchar(50)
--这里设置要查询的表名字
set @tableName='Products'

--清理临时表
if object_id('tempdb..#tmpdbs') is not null Begin
    drop table #tmpdbs
End
if object_id('tempdb..##tmpResults') is not null Begin
    drop table ##tmpResults
End

--手动创建全局临时表,用于保存查询结果.下面插入时只能使用insert into ,不能使用select into ,后者会自动创建临时表
create table ##tmpResults(
    DbName varchar(50),
    Name varchar(50),
    XType varchar(50)
)

Select  Name,ROW_NUMBER() over(order by Name) as rowid into #tmpdbs  FROM Master..SysDatabases  Name
declare @dbName varchar(50)
declare @rowid int
declare @count int

set @rowid=1
select @count=count(*) from #tmpdbs

while @rowid <= @count
begin
    --print(@rowid)
    select @dbName=[Name] from #tmpdbs where rowid=@rowid
    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')
    set @rowid=@rowid+1
end

--查看结果
select * from  ##tmpResults

--清理临时表
if object_id('tempdb..#tmpdbs') is not null Begin
    drop table #tmpdbs
End
if object_id('tempdb..##tmpResults') is not null Begin
    drop table ##tmpResults
End
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库名称: 例子数据库 数据库说明: 例子数据库一个用于存储和管理各种数据的关系型数据库。该数据库使用SQL Server作为管理系统,并采用标准的SQL语言进行查询和操作。它包含以下表格: 1. 用户表(user table) - 用于存储用户信息,包括用户ID,用户名,密码,电子邮件地址和联系电话等。 2. 订单表(order table) - 用于存储订单信息,包括订单ID,客户ID,订单日期,订单总金额和付款状态等。 3. 产品表(product table) - 用于存储产品信息,包括产品ID,产品名称,产品描述,价格和存等。 4. 类别表(category table) - 用于存储产品类别信息,包括类别ID和类别名称等。 5. 评论表(comment table) - 用于存储用户对产品的评论信息,包括评论ID,用户ID,产品ID和评论内容等。 6. 历史表(history table) - 用于存储用户购买历史记录,包括历史ID,用户ID,订单ID和购买日期等。 7. 支付表(payment table) - 用于存储订单支付信息,包括支付ID,订单ID,付款方式和支付金额等。 设计说明: 1. 用户表和订单表之间存在一对多的关系,即一个用户可以有多个订单; 2. 产品表和类别表之间存在一对多的关系,即一个类别可以包含多个产品; 3. 评论表和用户表、产品表之间存在多对多的关系,即一个用户可以对多个产品进行评论,一个产品可以被多个用户评论; 4. 历史表和用户表、订单表之间存在多对多的关系,即一个用户可以有多个历史记录,一个订单可以被多个用户购买; 5. 支付表和订单表之间存在一对一的关系,即一个订单只能对应一个支付记录。 以上是该数据库的设计说明书,可以根据实际情况进行修改和补充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值