使用msforeachtable获取特定数据库的表列表

时间:2012-02-04 20:24:24

标签: sql-server-2008 stored-procedures

在这个存储过程中,当我将数据库名称作为输入时,我希望得到特定数据库的所有表的列表。

例如,当我致电sp_list(master)时,它会显示master数据库的表格。

如何使用sp_msforeachtable

执行此操作

我找到了这段代码

sp_msforeachtable ' select ''?'' as ''Table'', count(*) as ''Rows'' from ? '

但不能在其中提供数据库名称作为输入

1 个答案:

答案 0 :(得分:0)

来自this webpage

declare @query as nvarchar(max)
declare @dbname as nvarchar(max)
SET @query=''
SET @dbname ='TST'
SET @query =@query + @dbname + '..sp_msforeachtable '' select ''''?'''' as ''''Table'''', count(*) as ''''Rows'''' from ? '''

EXEC sp_executesql @query