Dit komt omdat het bereik van de EXEC
statement verschilt van de reikwijdte van de bevattende sproc. Dat wil zeggen, uw oproep aan EXEC
is de tijdelijke tabel aan het maken en wordt dan automatisch verwijderd als het bereik voor de EXEC
is links. Je moet eigenlijk alles binnen de één . doen EXEC
verklaring:
DECLARE @sql VARCHAR(MAX)
SET @sql = 'SELECT * INTO #temp
FROM ' + @PKSchema + '.dbo.' + @PKTableName + ' WHERE 1<>1
INSERT INTO #temp ...'
EXEC(@sql)