我使用以下查询来获取用户上次更新表格的时间:
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。
答案 0 :(得分:2)
您不能JOIN
使用该过程,但是您可以将结果放入一个(临时)表(变量)中,您可以使用INSERT INTO
在第二步中将其用于连接EXEC
。 e.g。
Declare @Collect Table (Name Varchar(100),cnt integer)
Insert into @Collect
EXEC sp_MSForEachTable 'SELECT ''?'' as TableName,Count(*) from ?'
Select * from @Collect