如何学习特定表所有数据库中存在的行数

时间:2015-01-20 11:55:01

标签: sql sql-server tsql sql-server-2012

DECLARE @Db_Name VARCHAR(100);
DECLARE @Command NVARCHAR(200);
DECLARE @TempCommand VARCHAR(1000);
DECLARE @RowCount INT
DECLARE MyCursor CURSOR FOR
SELECT name FROM MASTER.sys.sysdatabases;
OPEN MyCursor;
FETCH NEXT FROM MyCursor INTO @Db_Name;
WHILE @@FETCH_STATUS=0
BEGIN
SELECT @RowCount=COUNT(*) FROM @Db_Name.Test
IF @Db_Name<>'master' AND @Db_Name<>'model' AND @Db_Name<>'msdb' AND
@Db_Name<>'tempdb' AND @Db_Name<>'CAP' AND @Db_Name<>'icden' AND @Db_Name<>'EASYEVENT'
AND @Db_Name<>'IDKK2' 
BEGIN
PRINT @Db_Name
SELECT @Command='INSERT INTO '+@Db_Name+'.dbo.Test'+ 
'SELECT TOP 15 NEWID(), TestCode, TestDescription, TestComment, Test_TestCategoryId,
TestIsPreliminaryStudy, TestIsFieldwork, TestIsAllInstitutionUnit,
TestStatus, GETDATE(), dbo.fn_GetSite() FROM icden..Test ORDER BY TestCode';
EXEC sp_executesql @Command;
END
FETCH NEXT FROM MyCursor INTO @Db_Name;
END
CLOSE MyCursor;
DEALLOCATE MyCursor;

我想对我服务器中的所有数据库执行此命令。在此之前,我必须了解每个数据库中存在的“Test”表中有多少行。我尝试了上面的脚本,但它没有用。

0 个答案:

没有答案