2个简单问题

good__student 2007-01-12 11:10:23
1知道一个字段名称但不知道在哪个表中,如何用语句查到有该字段的所有表名。
2知道一个表名但不知道在哪个数据库中,如何用语句查到哪个数据库中有该表。
...全文
187 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
marco08 2007-01-12
  • 打赏
  • 举报
回复
--2

declare @sql varchar(8000)
set @sql=''
select @sql=@sql+'select '+quotename(name, '''')+' from '+name+'.dbo.sysobjects where type=''U'' and name=''表名'' union all ' from sysdatabases
set @sql=left(@sql, len(@sql)-9)
exec(@sql)
marco08 2007-01-12
  • 打赏
  • 举报
回复
--1
select B.name from syscolumns A
inner join sysobjects B
on A.id=B.id and A.name='字段名' and B.type='U'
weihouyanli 2007-01-12
  • 打赏
  • 举报
回复
2、
dbo.sysdatabases
dbo.sysobjects

这两个表中找,
gc_ding 2007-01-12
  • 打赏
  • 举报
回复
2.
EXEC sp_msforeachdb '
USE [?]
IF OBJECT_ID(N''表名'') IS NOT NULL
PRINT N''?'''
fish_yht 2007-01-12
  • 打赏
  • 举报
回复
忘记加go了
use 数据库
go
select sysobjects.name from sysobjects
where sysobjects.name= 表名
weihouyanli 2007-01-12
  • 打赏
  • 举报
回复
1、
select a.name from dbo.sysobjects a,dbo.syscolumns b
where a.id = b.id
and a.name like '%列名%'
fish_yht 2007-01-12
  • 打赏
  • 举报
回复
1.
select sysobjects.name from syscolumns
inner join sysobjects on syscolumns.id=sysobjects.id
where syscolumns.name= 列名

2.
好像只能在每个数据库里面找
use 数据库
select sysobjects.name from sysobjects
where sysobjects.name= 表名
gc_ding 2007-01-12
  • 打赏
  • 举报
回复
1.
select b.name as tbleName, a.name as columnname
From syscolumns a, sysobjects b
where a.id=b.id and b.type='U' and a.name='字段名'
mengmou 2007-01-12
  • 打赏
  • 举报
回复
凭直觉应该跟系统表有关,关注。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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