This is My code
create proc TEMP
AS
BEGIN
DECLARE @SQL nvarchar(4000)
IF OBJECT_ID(N'tempdb..#TEMP1') IS NOT NULL
DROP TABLE #TEMP1;
SET @SQL ='SELECT CUSTOMERS,AREA,HOUSEHOLDS'+CHAR(10)
SET @SQL = @SQL +'INTO #TEMP1'+CHAR(10)
SET @SQL = @SQL +'FROM NEW'+CHAR(10)
PRINT(@SQL)
EXEC (@SQL)
IF OBJECT_ID(N'tempdb..#TEMP2') IS NOT NULL
DROP TABLE #TEMP2;
SET @SQL ='SELECT CUSTOMERS,AREA,VEHICELS'+CHAR(10)
SET @SQL = @SQL +'INTO #TEMP2'+CHAR(10)
SET @SQL = @SQL +'FROM OLD'+CHAR(10)
PRINT(@SQL)
EXEC (@SQL)
IF OBJECT_ID(N'tempdb..#TEMP3') IS NOT NULL
DROP TABLE #TEMP3;
SET @SQL ='SELECT 0.VEHICELS,C.HOUSEHOLDS'+CHAR(10)
SET @SQL = @SQL +'INTO #TEMP3'+CHAR(10)
SET @SQL = @SQL +'FROM #TEMP1 C'+CHAR(10)
SET @SQL = @SQL +'INNER JOIN #TEMP2 O '+CHAR(10)
SET @SQL = @SQL +'on C.CUSTOMERS=O.CUSTOMERS'+CHAR(10)
SET @SQL = @SQL +'AND C.AREA=O.AREA'+CHAR(10)
PRINT(@SQL)
EXEC (@SQL)
END
My error:
Msg 208, Level 16, State 0, Line 1
Invalid object name '#TEMP1'.
First TEMP1 and TEMP2 are working well, but when it comes to TEMP3 it doesn't access TEMP1 where the data is present
Can you guys check this confusing problem ???
DECLARE @sql varchar(max)
SET @sql = 'CREATE TABLE ##T1 (Col1 varchar(20))'
EXEC(@sql)
INSERT INTO ##T1 (Col1) VALUES ('This will work.')
SELECT * FROM ##T1
DO WE GET ANY PROBLEMS IN FUTURE IF WE USE GLOBALTEMPORARY TABLES???