SQL: Number of records in all views

I wanted to count the number of records in each view within the current database, so have developed the script below:

Please ensure you test any script taken from my website on a test/development machine, before running on a production server

DECLARE vwCursor CURSOR FAST_FORWARD FOR
  SELECT SCHEMA_NAME(schema_id) AS schema_name,
         name as view_name FROM sys.views
  ORDER BY name

OPEN vwCursor

DECLARE @SchemaName NVARCHAR(100)
DECLARE @ViewName NVARCHAR(100)
DECLARE @SQL NVARCHAR(MAX)

CREATE TABLE #Results
( ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  SchemaName VARCHAR(100),
  ViewName VARCHAR(100),
  RecordCount INT
)

FETCH NEXT FROM vwCursor INTO @SchemaName, @ViewName

WHILE @@FETCH_STATUS = 0
BEGIN
  SET @SQL = 'INSERT INTO #Results '
  SET @SQL = @SQL + '(SchemaName, ViewName, RecordCount) '
  SET @SQL = @SQL + 'SELECT ' + CHAR(39) + @SchemaName + CHAR(39) + ' AS SchemaName, '
  SET @SQL = @SQL + CHAR(39) + @ViewName + CHAR(39) + ' AS ViewName, COUNT(*) '
  SET @SQL = @SQL + 'FROM [' + @SchemaName + '].[' + @ViewName + ']'
  EXEC sys.sp_executesql @statement = @SQL

  FETCH NEXT FROM vwCursor INTO @SchemaName, @ViewName
END
CLOSE vwCursor
DEALLOCATE vwCursor

SELECT * FROM #Results

DROP TABLE #Results