日期:2014-05-17 浏览次数:20921 次
use Tfs_Test DECLARE @TableName varchar(255); CREATE TABLE #TempTable([id] [INT] IDENTITY(1,1) NOT NULL, [TableName] varchar(255) NOT NULL, [RecordingCount] INT); DECLARE Table_Cursor CURSOR FOR SELECT [name] FROM sysobjects WHERE xtype='U'; OPEN Table_Cursor; FETCH NEXT FROM Table_Cursor INTO @TableName; WHILE(@@FETCH_STATUS=0) BEGIN EXEC('INSERT INTO #TempTable ([TableName],[RecordingCount]) SELECT '+@TableName+', COUNT(0) FROM ['+@TableName+'];'); FETCH NEXT FROM Table_Cursor INTO @TableName; END CLOSE Table_Cursor; DEALLOCATE Table_Cursor; SELECT [TableName] AS [表名称],[RecordingCount] AS [总记录数] FROM #GetRecordingTempTable ORDER BY [RecordingCount] DESC; DROP TABLE #TempTable; GO
INSERT INTO #TempTable ([TableName],[RecordingCount]) EXEC(' SELECT '+@TableName+', COUNT(0) FROM ['+@TableName+'];');
------解决方案--------------------
这样
EXEC('INSERT INTO #TempTable ([TableName],[RecordingCount]) SELECT '''+@TableName+''', COUNT(0) FROM ['+@TableName+'];');