Hi...
Essentially, I want to do a record count for all tables within a database.
I've done the following, but get an error that @sCurrTable is not defined. I'm assuming this is within the Dynamic SQL, but not sure why.
Any advice would be greatly appreciated.
CREATE PROCEDURE phswc_table_info_extraction
AS
DECLARE @sTableName VARCHAR(64)
DECLARE @sCurrTable VARCHAR(64)
DECLARE @nRowCount INTEGER
DECLARE @sSQL NVARCHAR(500)
DECLARE @sSQLParam NVARCHAR(500)
DECLARE csr_tablelist CURSOR FOR
SELECT name
FROM sysobjects
WHERE type = 'U'
ORDER BY name
OPEN csr_tablelist
DELETE FROM aa_mp2_tablestats
SET @sSQL = N'SELECT @nRowCount = COUNT(*) FROM @sCurrTable'
SET @sSQLParam = N'@sCurrTable VARCHAR(64), @nRowCount INT OUTPUT'
FETCH NEXT FROM csr_tablelist
INTO @sTableName
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE sp_executesql @sSQL, @sSQLParam, @sCurrTable = @sTableName, @nRowCount = @nRowCount OUTPUT
INSERT INTO aa_mp2_tablestats(table_name, record_count)
VALUES(@sTableName, @nRowCount)
FETCH NEXT FROM csr_tablelist
INTO @sTableName
END
CLOSE csr_tablelist
DEALLOCATE csr_tablelist
GO
DGaw
Independent Consultant
Seattle, WA
Essentially, I want to do a record count for all tables within a database.
I've done the following, but get an error that @sCurrTable is not defined. I'm assuming this is within the Dynamic SQL, but not sure why.
Any advice would be greatly appreciated.
CREATE PROCEDURE phswc_table_info_extraction
AS
DECLARE @sTableName VARCHAR(64)
DECLARE @sCurrTable VARCHAR(64)
DECLARE @nRowCount INTEGER
DECLARE @sSQL NVARCHAR(500)
DECLARE @sSQLParam NVARCHAR(500)
DECLARE csr_tablelist CURSOR FOR
SELECT name
FROM sysobjects
WHERE type = 'U'
ORDER BY name
OPEN csr_tablelist
DELETE FROM aa_mp2_tablestats
SET @sSQL = N'SELECT @nRowCount = COUNT(*) FROM @sCurrTable'
SET @sSQLParam = N'@sCurrTable VARCHAR(64), @nRowCount INT OUTPUT'
FETCH NEXT FROM csr_tablelist
INTO @sTableName
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE sp_executesql @sSQL, @sSQLParam, @sCurrTable = @sTableName, @nRowCount = @nRowCount OUTPUT
INSERT INTO aa_mp2_tablestats(table_name, record_count)
VALUES(@sTableName, @nRowCount)
FETCH NEXT FROM csr_tablelist
INTO @sTableName
END
CLOSE csr_tablelist
DEALLOCATE csr_tablelist
GO
DGaw
Independent Consultant
Seattle, WA