0

我正在使用以下查询来获取用户上次更新表的时间:

EXEC sp_MSForEachTable 'SELECT ''?'' as TableName, 
                                  last_user_update,
                                  user_updates,
                                  index_id
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID(''SP3D_DB_RESEARCH_MDB'') AND 
                    OBJECT_ID = OBJECT_ID(''?'')' 

但是在结果窗口中,我得到了一个表格,每个结果都有一行。有什么方法可以将它们作为唯一查询加入,以便我可以对结果进行排序?

我正在使用 SQL Server 2008 R2 和 Microsoft SQL Server Management Studio。

4

1 回答 1

2

您不能JOIN使用该过程,但您可以将结果放入一个(临时)表(变量)中,您可以在第二步中INSERT INTO使用EXEC. 例如

Declare @Collect Table (Name Varchar(100),cnt integer)
Insert into @Collect
EXEC sp_MSForEachTable 'SELECT ''?'' as TableName,Count(*) from ?' 
Select * from @Collect  
于 2014-10-10T05:34:54.593 回答