Below is the cursor. Can't figure out why it doesn't like:
SELECT count(*) FROM @name
Thanks
------------
ALTER PROCEDURE myProc
AS
BEGIN
DECLARE @name varchar(255)
DECLARE c1 CURSOR FOR
SELECT sysobjects.name as TableName FROM sysobjects
WHERE type = 'U'
AND OBJECTPROPERTY(sysobjects.id , 'TableHasIndex' ) = 0
SET NOCOUNT ON;
OPEN c1
FETCH NEXT FROM c1
INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT count(*) FROM @name -- ERROR
FETCH NEXT FROM c1
INTO @name
END
CLOSE c1
DEALLOCATE c1
END
----
ERROR:
Msg 1087, Level 15, State 2, Procedure proc_MissingIndexes, Line 25
Must declare the table variable "@name".
SELECT count(*) FROM @name
Thanks
------------
ALTER PROCEDURE myProc
AS
BEGIN
DECLARE @name varchar(255)
DECLARE c1 CURSOR FOR
SELECT sysobjects.name as TableName FROM sysobjects
WHERE type = 'U'
AND OBJECTPROPERTY(sysobjects.id , 'TableHasIndex' ) = 0
SET NOCOUNT ON;
OPEN c1
FETCH NEXT FROM c1
INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT count(*) FROM @name -- ERROR
FETCH NEXT FROM c1
INTO @name
END
CLOSE c1
DEALLOCATE c1
END
----
ERROR:
Msg 1087, Level 15, State 2, Procedure proc_MissingIndexes, Line 25
Must declare the table variable "@name".