SQLServer 存於資料庫中哪乙個庫哪乙個表中

2021-09-02 17:48:29 字數 1558 閱讀 9509

假如有一台資料庫伺服器,裡面有很多庫,而自己對這些庫結構又不是很了解(比如到了一家新公司),想查詢一張表在哪的話,可以借助下面這段sql語句.

--

--查詢當前資料庫伺服器中某張表存在於哪個資料庫中,sqlserver2008測試通過

--declare @tablename varchar(50)

--這裡設定要查詢的表名字

set @tablename='products'

--清理臨時表

if object_id('tempdb..#tmpdbs') is not null begin

drop table #tmpdbs

endif 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

endif object_id('tempdb..##tmpresults') is not null begin

drop table ##tmpresults

end

長沙程式設計師c# asp.net

ado.net

qq群:683782676

SQLServer 存於資料庫中哪乙個庫哪乙個表中

假如有一台資料庫伺服器,裡面有很多庫,而自己對這些庫結構又不是很了解,想查詢一張表在哪的話,可以借助下面這段sql語句 查詢當前資料庫伺服器中某張表存在於哪個資料庫中,sqlserver2008測試通過 declare tablename varchar 50 這裡設定要查詢的表名字 set tab...

SQL server 資料庫中的資料操作

sql提供了4種基本操作的語句,它們分別是進行資料的增加 查詢 修改和刪除操作。1.新增操作 sql語句中最常用的用於指定向資料表中插入資料的方法是使用insert語句。insert語句的使用很簡單,他的基本語法格式如下 insert into table name column list valu...

刪除資料庫中資料(SQL Server)

通過sqlcommand類的commandtext方法 為其構造delete語句 與executenonquery實現修改表資料的功能。主要程式程式 如下。首先例項化乙個sqlcommand物件 cmd 然後通過引數sql sql 語句 來夠建cmd物件。最後通過cmd物件的executenonqu...