Reputation:
I have the following code which throws an Invalid object name '#Temp1' error....
Each iteration, i truncate the table (DROP table also did not work)....nothing obvious jumps out as a problem.....thanks for any ideas...
While @@Fetch_Status = 0 -- For each ObsSetCode -
BEGIN
PRINT 'I am processing the SECTION ------ ' + @dl_EventSetName
PRINT 'I am processing the ObsSetCode ------ ' + @ObsSetList
IF OBJECT_ID('tempdb..#Temp1') IS NOT NULL
BEGIN
TRUNCATE TABLE #Temp1
END
Insert Into #Temp1
Select o.EventSetName,
o.EventSetDisplay,
o.EventSetDescription,
o.ChildSetName,
ROW_NUMBER() Over (Order By o.ChildSetName) RN
From ##ObsSetLevel o,
##Final f
Where f.ChildSetName = o.EventSetName and
o.EventSetName = @ObsSetList
Order By o.ChildSetName asc
Insert into ##Final
Select *
From #Temp1
Where RN = 1
Union
Select '', '',
'', ChildSetName, RN
From #Temp1
Where RN > 1
Insert Into ##Final
Select distinct o.ChildSetName,
o.ChildSetName,
o.ChildSetName,
'',
''
From ##ObsSetLevel o,
##Final f
Where f.ChildSetName = o.EventSetName and
o.EventSetName = @ObsSetList
Order By o.ChildSetName asc
PRINT @ObsSetList
FETCH NEXT FROM ObsSetList_cursor Into @ObsSetList
END
Upvotes: 0
Views: 1623
Reputation: 18142
You are not creating #Temp
anywhere.
SELECT
.Try the following:
While @@Fetch_Status = 0 -- For each ObsSetCode -
BEGIN
PRINT 'I am processing the SECTION ------ ' + @dl_EventSetName
PRINT 'I am processing the ObsSetCode ------ ' + @ObsSetList
IF OBJECT_ID('tempdb..#Temp1') IS NOT NULL
BEGIN
DROP TABLE #Temp1 /* DROP THE TABLE IF IT IS FOUND */
END
Select o.EventSetName,
o.EventSetDisplay,
o.EventSetDescription,
o.ChildSetName,
ROW_NUMBER() Over (Order By o.ChildSetName) RN
Into #Temp1 /* Create the table with your SELECT */
From ##ObsSetLevel o,
##Final f
Where f.ChildSetName = o.EventSetName and
o.EventSetName = @ObsSetList
Order By o.ChildSetName asc
...
Upvotes: 1
Reputation: 549
Change you select to look like this:
Select o.EventSetName,
o.EventSetDisplay,
o.EventSetDescription,
o.ChildSetName,
ROW_NUMBER() Over (Order By o.ChildSetName) RN
into #Temp1
From ##ObsSetLevel o,
##Final f
Where f.ChildSetName = o.EventSetName and
o.EventSetName = @ObsSetList
Order By o.ChildSetName asc
You cannot use Insert Into
unless you have defined the table or it already exists.
Upvotes: 1